这是Alan不久前做的一个代码。因为我处理许多动态块,所以我经常使用这个例程。我能够改变标签,但当它做了可见性没有改变。如何更改标签和可见性?
- (defun c:tbd (/ blockname [color=black]p1);;revised by Reid B.[/color]
- [color=black] ;; Insert and array "LONG WALL" block (required)[/color]
- ;; Alan J. Thompson, 05.05.10
- (vl-load-com)
- (setq blockname "[color=black]1117sh");;revised by Reid B.[/color]
- (if (and (or (tblsearch "block" blockname)
- (findfile (strcat blockname ".dwg"))
- (alert (strcat blockname " cannot be found!"))
- )
- (setq p1 (getpoint "\nSpecify block insertion point: "))
- )
- ((lambda (block)
- (foreach x (vlax-invoke block 'GetDynamicBlockProperties)
- (and (eq (vla-get-propertyname x[color=black]) "Sheet Size");;revised by Reid B.[/color]
- (vla-put-value
- x
- "[color=black]24x36[/color]"
- );[color=black]revised by Reid B.[/color]
- )
- )
- )
- (vla-insertblock
- (if
- (or (eq acmodelspace
- (vla-get-activespace
- (cond (*AcadDoc*)
- ((setq *AcadDoc* (vla-get-activedocument (vlax-get-acad-object))))
- )
- )
- )
- (eq :vlax-true (vla-get-mspace *AcadDoc*))
- )
- (vla-get-modelspace *AcadDoc*)
- (vla-get-paperspace *AcadDoc*)
- )
- (vlax-3d-point (trans p1 1 0))
- blockname
- 1.
- 1.
- 1.
- 0.;;[color=black]revised by Reid B.[/color]
- )
- )
- )
- (princ)
- )
我试图更改的标签是DR2和值APC。这以前从来都不是问题,因为我使用了字段,但我被要求删除字段
____
希望你不介意我发布这个代码,艾伦。如果你这样做了,我会把它去掉 |