这个单线变双线的代码是 “无痕” 写的,我想改成像系统自的“offset”命令的"Through" 一样,代码只完成了一半就不会! 请前辈们指教。
 - (defun c:x2 (/ ss vss)
- (princ "\nSingle line to Double line -------Program by 无痕 Program revised by ShingYatChun")
- (initget 128 "Through")
- (if (or (= dist nil) (= dist 0))
- (setq s "Through")
- (setq s (rtos dist))
- )
- (setq s (cond (s:s) (s))
- TmpStr (strcat "\nSpecify offset distance or [Through] <" s ">: ")
- s (cond ((getkword TmpStr))(s:s ))
- )
- (if (= s nil)
- (setq s "Through")
- (setq dist (atof s))
- )
- (setq ss (ssget '((0 . "*line,arc,ellipse,circle")) )
- vss (vla-get-activeselectionset (vla-get-activedocument (vlax-get-acad-object)))
- ;dist (getdist "\nSpecify offset distance or Through:")
- )
- (vlax-for obj vss (vla-offset obj dist)(vla-offset obj (- 0 dist)))
- (princ (strcat "\nProgram processing is complete"))
- (prin1)
- )
|