Lisp请求-单击块
是否有一个lisp,当你点击一个块时,你会得到一个说明块名的文本粘贴?给你。
嗯,史蒂夫
区块名称。lsp :D:D
非常感谢 不客气!玩得高兴
这是一个非常有用的小工具,谢谢史蒂夫!
有人知道需要如何修改以在paperspace而不是modelspace中添加文本吗?
不知道你是什么意思那个爸爸
匿名名称友好
(defun c:BlockName (/ #Ent #Point)
(vl-load-com)
(and
(setq #Ent (ssget "_:S:E" '((0 . "INSERT"))))
(setq #Point (getpoint "\nSpecify placement point for MText: "))
(entmake (list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(100 . "AcDbMText")
(cons 7 (getvar "textstyle"))
(cons 10 (trans #Point 1 0))
(cons 1
(vla-get-EffectiveName
(vlax-ename->vla-object (ssname #Ent 0))))
) ;_ list
) ;_ entmake
) ;_ and
(princ)
)
这是另一个版本,经过调整以用于动态块和所有UCS/视图:
(defun c:bn ( / e p ) (vl-load-com)
(if
(and
(setq e (ssget "_+.:E:S" '((0 . "INSERT"))))
(setq e (vlax-ename->vla-object (ssname e 0)))
(setq p (getpoint "\nSpecify Point for MText: "))
)
(entmake
(list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(100 . "AcDbMText")
(cons 7 (getvar 'TEXTSTYLE))
(cons 10 (trans p 1 0))
(cons 11 (getvar 'UCSXDIR))
(cons 210 (trans '(0.0 0.0 1.0) 1 0 t))
(cons 1
(vlax-get-property e
(if (vlax-property-available-p e 'effectivename)
'effectivename
'name
)
)
)
)
)
)
(princ)
)
编辑:哎呀!pBe打败了我
不错的添加
但这种情况并不经常发生
干杯,李 尝试以下操作(通过视口使用):
(defun c:bn ( / e p ) (vl-load-com)
(if
(and
(setq e (ssget "_+.:E:S" '((0 . "INSERT"))))
(setq e (vlax-ename->vla-object (ssname e 0)))
(setq p (getpoint "\nSpecify Point for MText: "))
)
(entmake
(list
'(0 . "MTEXT")
'(100 . "AcDbEntity")
'(100 . "AcDbMText")
(cons 7 (getvar 'TEXTSTYLE))
(cons10 (trans (trans p 1 2) 2 3))
(cons11 (getvar 'UCSXDIR))
(cons50 (getvar 'VIEWTWIST))
(cons 410 (getvar 'CTAB))
(cons 210 (trans '(0.0 0.0 1.0) 1 0 t))
(cons 1
(vlax-get-property e
(if (vlax-property-available-p e 'effectivename)
'effectivename
'name
)
)
)
)
)
)
(princ)
)
编辑:更新为ViewTwist帐户
现在我明白了,这就是他所说的纸面空间。
页:
[1]
2