liuyibin7 发表于 2014-4-4 17:01:36

怎样取得弧标

各位大神请帮忙看一下这组代码哪时出了问题:
(defun c:CV()
   (vl-load-com)
   (setq aca(vlax-get-acad-object))
   (setq dwg(vla-get-activedocument aca))
   (setq msp(vla-get-modelspace dwg))
   (setq en(car(entsel "请选择弧:")))
   (setq xx(vlax-ename->vla-object en))
   (setq bu (vlax-curve-getStartPoint xx))
   (setq bu1 (vlax-curve-getendpoint xx))
   (setq bbb(vla-addline msp bu bu1))
   (vla-zoomextents aca)
   (princ "已完成!")
)

xyp1964 发表于 2014-4-4 19:12:27

(defun c:tt ()
(vl-load-com)
(setq en(car (entsel "请选择弧: "))
        ao(vlax-get-acad-object)
        ad(vla-get-ActiveDocument ao)
        mp(vla-get-ModelSpace ad)
        ob(vlax-ename->vla-object en)
        bu(vlax-curve-getStartPoint ob)
        bu(vlax-3D-point bu)
        bu1 (vlax-curve-getendpoint ob)
        bu1 (vlax-3D-point bu1)
        bbb (vla-addline mp bu bu1)
)
(princ)
)

liuyibin7 发表于 2014-4-15 14:50:49

你的真简洁,非常感谢!

llsheng_73 发表于 2014-4-15 15:40:03

本帖最后由 llsheng_73 于 2014-4-15 15:43 编辑

(defun c:CV()
   (vl-load-com)
   (setq aca(vlax-get-acad-object))
   (setq dwg(vla-get-activedocument aca))
   (setq msp(vla-get-modelspace dwg))
   (setq en(car(entsel "请选择弧:")))
   (setq xx(vlax-ename->vla-object en))
   (setq bu (vla-get-startpoint xx));;;vlax-curve-getStartPoint得到的结果需要进行了转换,这样可以不进行转换了,但多线段等别的图元对象不适用,下同
   (setq bu1 (vla-get-endpoint xx))
   (setq bbb(vla-addline msp bu bu1))
   (vla-zoomextents aca)
   (princ "已完成!")
)
页: [1]
查看完整版本: 怎样取得弧标