求助能否把椭圆变成SPLINE线?
<p>在cad中能否把生成的椭圆变成SPLINE线呀?谢谢!</p> 本帖最后由 ketxu 于 2020-1-8 18:53 编辑You can use this, quick code
(defun c: e2s (/ v s e d)
; @ketxu Nguyen Son Tung
(setq s (ssget (list (cons 0 "ELLIPSE")))) i -1 v vlax-invoke d 0.000001)
(while (setq e (ssname s ( setq i (1+ i)))))
(v (setq vs (car (v (vlax-ename-> vla-object e) 'Offset d)))' Offset (-d))
(entdel e)
(vla- delete vs)
)
)
ketxu 发表于 2020-1-8 18:50
You can use this, quick codete2003-8-26样条曲线spline转换成多段线pline明经shicai发表于2003-8-26
看看是不是这样? 水仙的错 发表于 2019-9-14 13:58
不能用,怎么回事
试了确实不能实现哟!还辛苦ZZXXQQ大侠看看?
;椭圆转SPLINE 明经 ZZXXQQ 2008.2.1
(defun c:tt ()
(setvar "CMDECHO" 0)
(setq oldos (getvar "OSMODE"))
(if (and (setq s1 (entsel "\nSelect a Ellipse 选择椭圆 :"))
(setq ent (entget(car s1)))
(= (cdr(assoc 0 ent)) "ELLIPSE")
) (progn
(command ".undo" "BE")
(command "divide" s1 16)
(setq p1 (cdr(assoc 10 ent))
p2 (cdr(assoc 11 ent))
p2 (polar p1 (angle '(0 0) p2) (distance '(0 0) p2))
p3 (polar p2 (+ (angle p1 p2) (/ pi -2)) 5))
(setq ss (ssget "P"))
(setq pt (cdr(assoc 10 (entget(ssname ss 0)))))
(setq i 0)
(setvar "OSMODE" 0)
(command ".spline" pt)
(repeat (1- (sslength ss))
(setq pt (cdr(assoc 10 (entget(ssname ss (setq i (1+ i)))))))
(command pt)
)
(command "c" p3)
(setvar "OSMODE" oldos)
(command ".erase" ss (car s1) "")
(command ".undo" "E")
))
(setvar "CMDECHO" 1)
(princ)
)
實用!學習一下 谢谢分享,看看代码。。 感谢Z版分享程序! 不能用,怎么回事 ZZXXQQ 发表于 2008-2-1 20:37
感谢Z版分享程序!
页:
[1]
2