blackhawks 发表于 2005-4-30 11:31:00

有没有高手做过这个?

我做的是自动捕捉空间中的线(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]
查看完整版本: 有没有高手做过这个?