因此,我正在研究一些LISP例程,以使使用MLINES更有趣。我当前快速编写的附加dxf代码40的代码(这是mlines比例的所在)如下所示:
- (defun c:mlwidth ()
- (if (setq ss (LM:ssget "\nSelect multilines: " '("_:L" ((0 . "MLINE")))))
- (initget 4)
- (setq mwidth
- (cond ((getdist "\nSpecify width for all mlines <0.0>: ")) (0.0)))
- (setq newdxf '(40 . mwidth))
- (setq cnt 0)
- (repeat (sslength ss)
- (setq dxfdata (ssname ss cnt))
- (setq entdata (entget dxfdata))
- (setq dxfdata (subst newdxf olddxf dxfdata))
- (entmod dxfdata)
- (setq cnt (+ 1 cnt))
- )
- )
- )
- ;; ssget - Lee Mac
- ;; A wrapper for the ssget function to permit the use of a custom selection prompt
- ;; msg - [str] selection prompt
- ;; arg - [lst] list of ssget arguments
- (defun LM:ssget (msg arg / sel)
- (princ msg)
- (setvar 'nomutt 1)
- (setq sel (vl-catch-all-apply 'ssget arg))
- (setvar 'nomutt 0)
- (if (not (vl-catch-all-error-p sel))
- sel
- )
- )
。我不明白为什么这实际上不是附加dxf数据,而是将其全部打印到屏幕上。有人知道为什么吗? |