[ http://www.theswamp.org/index.php?topic=419.msg5041#msg5041 ] 是的,我也看过,约翰,谢谢
我不明白为什么他们会把它放在ACAD帮助文件中。。,
干杯
李 我认为,因为帮助文件是为vb编写的。 哦,对了,谢谢。
不过,为了添加到这个线程中,我确实找到了一种解决方法,它以LISP的形式改变了leader对象的字典条目(可能有用):
;;; qlset.lsp - example initialization of QLEADER settings
;;; Frank Whaley, Autodesk
;;;
;;; Two functions are included in this file:
;;;
;;; (acet-ql-Set)
;;; Returns an association list containing the current QLEADER settings from the
;;; Named Object Dictionary.
;;;
;;; (acet-ql-get <alist>)
;;; Sets the specified values for QLEADER settings from the given association
;;; list.
;;; Returns an association list containing the new values.
;;;
;;; These functions can be used to examine the current QLEADER settings, or to
;;; initialize the setting before using the QLEADER command.
;;; For example, to use splined leaders and framed text:
;;;
;;; (acet-ql-set '((65 . 1)(72 . 1)))
;;;
;;; Both functions use the following group codes to identify QLEADER settings:
;;;
;;;3: user arrowhead block name (default="")
;;;40: default text width (default=0.0)
;;;60: annotation type (default=0)
;;; 0=MText
;;; 1=copy object
;;; 2=Tolerance
;;; 3=block
;;; 4=none
;;;61: annotation reuse (default=0)
;;; 0=none
;;; 1=reuse next
;;;62: left attachment point (default=1)
;;;63: right attachment point (default=3)
;;; 0=Top of top line
;;; 1=Middle of top line
;;; 2=Middle of multiline text
;;; 3=Middle of bottom line
;;; 4=Bottom of bottom line
;;;64: underline bottom line (default=0)
;;;65: use splined leader line (default=0)
;;;66: no limit on points (default=0)
;;;67: maximum number of points (default=3)
;;;68: prompt for MText width (word wrap) (default=1)
;;;69: always left justify (default=0)
;;;70: allowed angle, first segment (default=0)
;;;71: allowed angle, second segment (default=0)
;;; 0=Any angle
;;; 1=Horizontal
;;; 2=90deg
;;; 3=45deg
;;; 4=30deg
;;; 5=15deg
;;;72: frame text (default=0)
;;; 170: active tab (default=0)
;;; 0=Annotation
;;; 1=Leader Line & Arrow
;;; 2=Attachment
;;; 340: object ID for annotation reuse
;;;
;;; |;
acad-push-dbmod
(defun acet-ql-get(/ xr cod itm reply)
(if (setq xr (dictsearch (namedobjdict) "AcadDim"))
(progn
(foreach cod'(3 40 60 61 62 63 64 65 66 67 68 69 70 71 72 170 340)
(if (setq itm (assoc cod xr))
(setq reply (append reply (list itm)))))
reply)
'((3 . "")
(40 . 0.0)
(60 . 0)
(61 . 1)
(62 . 1)
(63 . 3)
(64 . 0)
(65 . 0)
(66 . 0)
(67 . 3)
(68 . 1)
(69 . 0)
(70 . 0)
(71 . 0)
(72 . 0)
(170 . 0))))
(defun acet-ql-set(arg / cur prm)
;;fetch current
(setq cur (acet-ql-get))
;;override per argument
(while arg
(setq prm (car arg)
arg (cdr arg)
cur (subst prm (assoc (car prm) cur) cur))
;;handle DIMLDRBLK
(if (= 3 (car prm))
(setvar "DIMLDRBLK" (cdr prm))))
;;put back
(dictremove (namedobjdict) "AcadDim")
(setq cur (append '((0 . "XRECORD") (100 . "AcDbXrecord") (90 . 990106))
cur))
(dictadd (namedobjdict) "AcadDim" (entmakex cur))
(acet-ql-get))
;;load quietly
(princ)
(entmake (list (cons 0 "LEADER")
(cons 100 "AcDbEntity")
(cons 100 "AcDbLeader")
(cons 71 1)
(cons 72 0)
(cons 73 3)
(cons 74 0)
(cons 75 0)
(cons 10 (getpoint))
(cons 10 (getpoint))
(list -3 (list "ACAD" (cons 1000 "DSTYLE")
(cons 1002"{")
(cons 107041)
(cons 10402.5)
(cons 1002"}")
)
)
)
)
你好
那是甜蜜的VovKa
祝你过得愉快。
肖恩多 很好的一个Vovka,一个简单的解决方案 在这里也不走运,vovka的解决方案可能是最好的解决方案,但释放一个对象似乎会将vla对象置为零 我忘了箭头大小。所以我更新了我以前的帖子。
至于vlisp中的null值,有:vlax null,但在这里也不起作用 VovKa,还有一个“vlax vbnull”,但它也不起作用。
威兹曼,我不明白你发表的评论。
页:
1
[2]