本帖最后由 夏生生 于 2024-8-19 17:13 编辑
他提问一向这样
都是acad的基操,不去学acad基础命令,张嘴就问
- (defun c:tt ()
- (setq ss (ssget '((0 . "line"))))
- (if (> (sslength ss) 2)
- (progn (command-s "pedit" "m" ss "" "y" "j" "" "")
- (setq en (entlast)
- pt (osnap (vlax-curve-getstartpoint en) "gcen"))
- (command-s "circle" pt 1)
- (command-s "explode" en))
- (progn (command-s "centerline" (ssname ss 0) (ssname ss 1))
- (setq en (entlast)
- pt (osnap (cdr(assoc 10(entget en))) "mid"))
- (command-s "circle" pt 1)
- (entdel en))))
问题表述不清,靠猜的,此段代码仅用于演示用acad基本命令解决问题的流程,在所需点处画了个圆,结合捕捉,id,@,完全可以用acad自带命令解决问题,例如你要画线,两条线先用centerlin画出中心线,id mid再执行line命令@就可以了,最后删除中心线,当然这样有点啰嗦,id那一步可以去掉
|