如何获得用户选择矩形的哪一条线上
已知一个封闭矩形,下面是一个简单的像素表,太多10的项,不知哪个才是用户所选择的那条线!选择对象: ((-1 . <图元名: 7eaad038>) (0 . "LWPOLYLINE") (5 . "20F3F") (102 .
"{ACAD_REACTORS") (330 . <图元名: 7e8293b8>) (330 . <图元名: 7e8294c8>) (330 .
<图元名: 7e829598>) (102 . "}") (330 . <图元名: 7ef63cf8>) (100 . "AcDbEntity")
(67 . 0) (410 . "Model") (8 . "1") (100 . "AcDbPolyline") (90 . 4) (70 . 1) (43
. 0.0) (38 . 0.0) (39 . 0.0) (10 11265.0 1085.38) (40 . 0.0) (41 . 0.0) (42 .
0.0) (10 11396.9 1085.38) (40 . 0.0) (41 . 0.0) (42 . 0.0) (10 11396.9 1011.88)
(40 . 0.0) (41 . 0.0) (42 . 0.0) (10 11265.0 1011.88) (40 . 0.0) (41 . 0.0) (42
. 0.0) (210 0.0 0.0 1.0))
entsel能得到用户所点的位置,就是不知道怎么写这段程序,来得到该线段的 长度 与 该线段的 2个坐标点?
(<图元名: 7eaad038> (11355.1 1086.15 0.0))
请高手帮忙写一下这段程序,菜鸟先在这里谢过了!
一个就是节点求法
一个就是捕捉点求法
(setq ee (entsel)
pt (cadr ee)
ee (car ee)
pm (osnap pt "Mid")
pa (osnap pt "End")
)
那么 pb 就是另一个端点了 本帖最后由 Gu_xl 于 2011-3-25 09:14 编辑
回复 啵浪鼓 的帖子
(list (vlax-curve-getPointAtParam (car (setq en (entsel))) (setq param (fix (vlax-curve-getParamAtPoint (car en) (vlax-curve-getclosestpointto (car en) (cadr en))))))
(vlax-curve-getPointAtParam (car en) (1+ param))
)
非常感谢2位大大的指教,程序都挺好,谢谢! 学习一下 楼上的程序只能得到坐标点,该线的线长得不到,矩形上如果有圆弧相连,该圆弧的数值是多少呢?
想做一个这样的程序,就是一个矩形,想单线偏移,如果点中线,就将这条线单向偏移,点圆弧上就偏移此圆弧
offset命令是将整个矩形一起偏移,而想要的结果是只是偏移点中的单一对象偏移 回复 啵浪鼓 的帖子
好好学习研究一下vlax-curve-族函数吧,这几个函数搞明白了,计算距离是很简单的呦!
目前只是略懂点lisp,Vlisp没怎么接触,麻烦! 只是偏移点中的单一对像偏移
http://forums.autodesk.com/t5/Visual-Basic-Customization/Offset-to-wich-side/m-p/328274 请问:一次选中的对象中,
如果是
直线
矩形(就炸开再选中炸开矩形后的直线)
最后选择中的是直线
这段码怎么写呀,。这个困了我好久
页:
[1]