sergiu_ciuhnenc 发表于 2022-7-5 20:25:41

具有属性的块需要hel

这是一个带有字段的块(poliline length),我用这个块来加固,我想做一件事,但我不知道怎么做:有时这个块是分解的,所以我想在双击块长度时,只需单击它就可以得到poliline length。这是真的,还是幻想?
如果有人有其他想法,或其他更好的阻止张贴请。
需要帮助。图纸

Tharwat 发表于 2022-7-5 20:35:04

欢迎来到CADTutor。
 
您想只需单击属性块一次,就可以获得长度标记中表示的长度值?那之后该怎么办?
 
需要更多细节。

sergiu_ciuhnenc 发表于 2022-7-5 20:43:28

我想用最简单的方法来计算poliline的长度,但是,为了不打破障碍,这听起来有点奇怪,但是,只是问一下是否可能

Tharwat 发表于 2022-7-5 20:44:56

拾取属性本身。
 

(defun c:Test (/ s)
(and (setq s (car (nentsel "\n pick on Attribute :")))
      (member '(0 . "ATTRIB") (entget s))
      (princ (strcat "\n The attribute value : < " (cdr (assoc 1 (entget s))) " > " ))
)
(princ)
)

sergiu_ciuhnenc 发表于 2022-7-5 20:50:33

我不是黑客,但我觉得这里的lisp帮不上忙,只有用VBA,如果我没有错?

Tharwat 发表于 2022-7-5 20:59:47

 
如果你这么认为,为什么要在AutoLISP论坛上发帖?
 
这应该是你的目的地

sergiu_ciuhnenc 发表于 2022-7-5 21:02:39

因为我仍然不知道Lisp程序的真正力量。。。

sergiu_ciuhnenc 发表于 2022-7-5 21:10:01

很抱歉,Tharwat,可能你不理解我的问题,例如,在我的旁边画一条新的poliline,所以我想把这个新poliline的长度分配给我的块

Tharwat 发表于 2022-7-5 21:17:05

 

 

(defun c:Test (/ *error* z o s _doc gc:GetObjectIdString)
;;;      Tharwat 05.01.2014      ;;;
(defun *error* (msg)
   (if z
   (setvar 'DIMZIN z)
   )
   (if (wcmatch (strcase msg) "*CANCEL*,*EXIT*,*BREAK*")
   (princ (strcat "Error :" msg " ..."))
   )
)
(defun gc:GetObjectIdString (obj) ;;; By Gile
   (or *util* (setq *util* (vla-get-Utility _doc)))
   (if (vlax-method-applicable-p *util* 'GetObjectIdString)
   (vla-GetObjectIdString *util* obj :vlax-false)
   (itoa (vla-get-ObjectId obj))
   )
)
(setq z (getvar 'DIMZIN))
(setvar 'DIMZIN 0)
(vla-startUndomark
   (setq _doc (vla-get-ActiveDocument (vlax-get-acad-object)))
)
(princ "\n Pick a Polyline/Line/Spline ")
(and
   (setq o (ssget "_+.:S:E" '((0 . "*POLYLINE,LINE"))))
   (setq s (car (nentsel "\n pick on Attribute :")))
   (member '(0 . "ATTRIB") (entget s))
   (entmod
   (subst
       (cons
         1
         (strcat
         "%<\\AcObjProp Object(%<\\_ObjId "
         (gc:GetObjectIdString (vlax-ename->vla-object (ssname o 0)))
         ">%).Length \\f \"%lu2\">%"
         )
       )
       (assoc 1 (entget s))
       (entget s)
   )
   )
)
(vla-regen _doc acallviewports)
(vla-Endundomark _doc)
(*error* nil)
(princ)
)(vl-load-com)

sergiu_ciuhnenc 发表于 2022-7-5 21:21:22

谢谢塔瓦的回复,非常感谢!!
在我的国家,10分是学校最好的分数,所以你今天应该得到10分。
页: [1] 2
查看完整版本: 具有属性的块需要hel