有没有高手做过这个?
我做的是自动捕捉空间中的线(line、pline、spline、arc),以其起点为端点,做一个垂直于该线法向量的圆,然后拉升该圆,线为拉升路径。具体程序代码就选择重点罗列了:(1)将模型空间中的线加入选择集合(setq ss (ssget "x")) (2)依次给定集合中的个元素ename
(3)做一个循环,通过sslength获得元素量n,也就是循环次数。依次对空间中的线做如下操作:找到其端点(setq point1 (vlax-curve-getstartpoint line1)),线上离端点x距离的一点(setq pnt2 (vlax-curve-getpointatdistance point1 x))
然后定义ucs (command "ucs" "_zaxis" point1 pnt2 "")
做圆 (command "circle" (list 0 0 0) radius)
拉升,之间还要建立一个圆的选择集。
(command "extrude" circle1 "p" line1 "")
但是我这里碰到一个问题,由于pnt2 是自己定义距离的,所以,x定义不同,在定义ucs的时候会出现这样的错误:即point1和pnt2重合!
页:
[1]