您可能还想使用此代码
我刚刚在转换成2009格式的图纸上测试了它
- (defun C:paging(/ adoc atts id lay_field)
- (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
- (vlax-for lt (vla-get-layouts adoc)
- (vla-put-activelayout adoc lt);optional
- (vlax-for obj (vla-get-block lt)
- (if (eq "AcDbBlockReference" (vla-get-objectname obj))
- (if (eq "Cartouche Aliance" (vla-get-effectivename obj))
- (if (eq :vlax-true (vla-get-hasattributes obj) )
- (progn
- (setq atts (vlax-invoke obj 'getattributes))
- (foreach x atts
- (if (eq "PAGE" (vla-get-tagstring x))
- (progn
- (setq id (vla-get-objectid (vla-get-layout (vla-objectidtoobject adoc (vla-get-ownerid obj)))))
- (setq lay_field (strcat "%<[url="file://\\AcObjProp"]\\AcObjProp[/url] Object(%<[url="file://\\_ObjId"]\\_ObjId[/url] " (itoa id)">%).Taborder [url="file://\\f"]\\f[/url] "%tc1">%"))
- (vla-put-textstring x lay_field)
- )
- )
- )
- )
- )
- )
- )
- )
- )
- (vla-put-activelayout adoc (vla-item (vla-get-layouts adoc) 0));activate Layout1, optional
- (princ)
- )
- (prompt "\Try command: Paging...")
- (prin1)
- (vl-load-com)
- (prin1)
~'J'~ |