在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1213|回复: 10

[求助] 求一个能获取半选中path线末端坐标点(如下图)的函数

[复制链接]
发表于 2023-12-18 16:11:43 | 显示全部楼层 |阅读模式
100资产

                               
登录/注册后可看大图

最佳答案

查看完整内容

这里说beginPoint、endPoint实际上只是想表达意思,实际上path线没有这两个属性(pathSeg的属性)。path~>points得到的list就是这段path的头尾坐标list了,怎么取出来应该不用我说了吧。 geGetSelSetFigPiont()得到的结果对于一条path而已就两个布尔值,顺序和刚提到的头尾坐标list对应,那根据得到的结果不就知道你选中的是这根线的头还是尾了,从list坐标里取出来就是你想要的结果啦。 举个栗子:假设你选了一根path线,path=c ...
发表于 2023-12-18 16:11:44 | 显示全部楼层


远哥儿 发表于 2024-1-5 17:33
大佬,请教一下geGetSelSetFigPiont()的arg是db数据类型,但是beginPt和endPt是pointlist,该如何使用这 ...


这里说beginPoint、endPoint实际上只是想表达意思,实际上path线没有这两个属性(pathSeg的属性)。path~>points得到的list就是这段path的头尾坐标list了,怎么取出来应该不用我说了吧。
geGetSelSetFigPiont()得到的结果对于一条path而已就两个布尔值,顺序和刚提到的头尾坐标list对应,那根据得到的结果不就知道你选中的是这根线的头还是尾了,从list坐标里取出来就是你想要的结果啦。
举个栗子:假设你选了一根path线,path=car(geGetSelSet())
①你选中了一根线的头,尾不选,geGetSelSetFigPiont(path)得到的结果是list(t nil),那你想要得到的坐标就是point=car(path~>points)
②你选中了一根线的尾,头不选,geGetSelSetFigPiont(path)得到的结果是list(nil t),那你想要得到的坐标就是point=cadr(path~>points)
发表于 2023-12-19 09:10:20 | 显示全部楼层
俺也想知道

补充内容 (2024-4-24 11:32):
已学习
发表于 2023-12-19 09:35:02 | 显示全部楼层
你可以试试geGetSelSetFigPoint()这个函数,和其他的函数配合使用应该可以满足你的要求
 楼主| 发表于 2023-12-19 20:10:08 | 显示全部楼层


ZC11 发表于 2023-12-19 09:35
你可以试试geGetSelSetFigPoint()这个函数,和其他的函数配合使用应该可以满足你的要求 ...


该函数只能判断是否选中点,但是无法获取到具体点坐标,请教一下能和哪些函数搭配使用呢?找了很久,没有太好的思路
发表于 2023-12-20 13:16:26 | 显示全部楼层
如果是pathSeg,geGetSelSet()~>beginPt或者geGetSelSet()~>endPt,如果是path,geGetSelSet()~>points
 楼主| 发表于 2023-12-20 16:34:06 | 显示全部楼层


xuhao 发表于 2023-12-20 13:16
如果是pathSeg,geGetSelSet()~>beginPt或者geGetSelSet()~>endPt,如果是path,geGetSelSet()~>points ...


这两个参数需要判断,我在尝试找一个能直接获取选中点的函数
发表于 2023-12-21 10:11:49 | 显示全部楼层
log上,这个选中的过程分为了2步,




  1. leSelBoxOrstretch()
  2. >;请注意,这里并没有立马给出返回值
  3. addPoint(hiGetCommandPoint()) ;addPoint()是一个 Entry Function, hiGetCommandPoint()是真正的输入,本句应该是内嵌在了上一个 leSelBoxOrstretch() 内部的
  4. t;这里给出了返回值


复制代码


再者,通过API查询可知 hiGetCommandPoint() 获取的的是某windowsId 下的 pointlist,你可以试试看能不能在你的函数中嵌入这个,希望能帮到你
发表于 2023-12-21 14:23:47 | 显示全部楼层
没能找到一个直接获取的函数,但可以通过geGetSelSet()和geGetSelSetFigPoint()这个两个函数配合来获取。

geGetSelSetFigPoint()这个函数的参数通过geGetSelSet()获取,返回值对于path而言是两个boolean值t和nil,t代表选中,nil代表没选中,返回值的顺序代表了头和尾,也就是beginPoint和endPoint。
那么通过返回值的t和nil知道了你所选中的点是path的哪一端就能通过if else之类的判断函数取出所需的值了。
 楼主| 发表于 2024-1-5 17:33:42 | 显示全部楼层


着着着火了 发表于 2023-12-21 14:23
没能找到一个直接获取的函数,但可以通过geGetSelSet()和geGetSelSetFigPoint()这个两个函数配合来获取。

...


大佬,请教一下geGetSelSetFigPiont()的arg是db数据类型,但是beginPt和endPt是pointlist,该如何使用这个函数进行判断呢?尝试了很久,也反复看了这个函数的解释,没有例子没理解到,希望大佬解惑
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-27 10:27 , Processed in 0.023574 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表