交点
我有一个大概是圆形的形状,有一条线穿过它,所以有两个交点。我想找到这些交点的2个值,这是怎么做到的?我已经写了下面的代码,但是pt1是一个变体(2个值),我想要2个单独的值。这是怎么做到的?
谢谢
(setq enaPline(car (entsel "\nSelect shape : ")))
ObjName1 (vlax-ename->vla-object enaPline))
enaLine(car (entsel "\nSelect line : ")))
ObjName2 (vlax-ename->vla-object enaLine))
Pt1 (vlax-safearray->list
(vlax-variant-value
(vla-IntersectWith ObjName1 ObjName2 acExtendNone)))) 首先,请注意你的代码有很多不平衡的右括号(每行一个)!
其次,使用上述方法减去所需的子列表(根据需要重命名变量):
(setq InsPoint1st (list (car Pt1) (cadr Pt1) (caddr Pt1))
InsPoint2nd (cdddr Pt1))
当做 假设只有两个相交点。。。下面是另一种方法:
(setq enapline (car (entsel "\nSelect shape : "))
objname1 (vlax-ename->vla-object enapline)
enaline(car (entsel "\nSelect line : "))
objname2 (vlax-ename->vla-object enaline)
pts (vlax-invoke objname1 "intersectwith" objname2 acextendnone)
pt1 (reverse (cdddr (reverse pts)))
pt2 (cdddr pts)
) 非常感谢-效果很好
干杯SM
页:
[1]