嘿伙计们,
我有一个例程,它由另外两个例程组成,这两个例程是由李·麦克和卡利提供的。
其思想是让例程从ProSteel元素(Carry的例程)中读取ProSteel属性,并将该属性分配给我的标题栏(Lee Mac的例程)中的属性值。
代码:
- (defun LM:SetAttributeValues ( block lst / elist item )
- (if
- (eq "ATTRIB"
- (cdr
- (assoc 0
- (setq elist
- (entget (setq block (entnext block)))
- )
- )
- )
- )
- (if (setq item (assoc (strcase (cdr (assoc 2 elist))) lst))
- (progn
- (if (setq elist (entmod (subst (cons 1 (cdr item)) (assoc 1 elist) elist)))
- (entupd (cdr (assoc -1 elist)))
- )
- (LM:SetAttributeValues block lst)
- )
- (LM:SetAttributeValues block lst)
- )
- )
- )
- (defun c:FC2TB (/ ss num con ent3A ent3B acadapp shapeinfo CPOS NPOS acadApp)
- ;--------------------------Read Data From Element------------------------------
- (prompt "\nSelect ELEMENTS:")(princ)
- (setq ss (ssget "x" '((0 . "KS_SHAPE,KS_PLATE,KS_BOLT,KS_BENDSHAPE,KS_ARCSHAPE,KS_ARCPLATE,KSBENDPLATE,Ks_VolBody"))));8=Name Layer 0=ks_object
- (setq num (sslength ss));n° object
- (setq con 0)
- (repeat num
- (setq ent3A (ssname ss con)) ; (entsel "\nSelect BOLT: "))
- (setq ent3B ent3A)
- (setq acadapp (vlax-get-acad-object))
- (setq shapeinfo (vla-getinterfaceobject acadapp "PSCOMWRAPPER.Ks_ComShapeInfo"))
- (vlax-invoke-method shapeinfo 'setobject (vlax-ename->vla-object ent3A))
- (vlax-invoke-method shapeinfo 'getinfo);ritrova le informazioni nel database
- (setq shapeinfo (vla-getinterfaceobject acadApp "PSCOMWRAPPER.Ks_ComShape"))
- (setq shapeinfo (vlax-ename->vla-object ent3B))
- (setq PSCOUNT (vlax-get-property shapeinfo 'TotalCount)) ;Position Number
- (vlax-release-object shapeinfo)
- (setq shapeinfo nil)
- (setq acadApp nil)(princ)
- (setq con (1+ con)))
- ;*****************************************************************************
- (defun c:UPDATETITLEBLOCK ( / ss data i )
- (if (setq ss (ssget "_X" '((0 . "INSERT") (66 . 1))))
- (progn
- (setq data
- '(
- [b] ("COUNT" . PSCOUNT)[/b]
- )
- )
- (repeat (setq i (sslength ss))
- (LM:SetAttributeValues (ssname ss (setq i (1- i))) data)
- )
- )
- )
- (princ)
- )
- (c:UPDATETITLEBLOCK)
- )
我正在努力解决的是将PSCOUNT符号输入李·麦克的例程(代码突出显示为粗体)。
我只是想知道是否有人能帮我理解我错在哪里。
非常感谢您的帮助。 |