了解为什么默认为sta
大家好。有谁能告诉我为什么这个例程默认为标准,即使当前有不同的文本样式。
将一组数字上的字符串拆分。
提前感谢
(defun c:test (/ _l ss xfirst)
(setq xfirst (getint "\nPre number :"))
(setq xmiddle (+ 2 xfirst))
;; Tharwat 18. May. 2014 ;;
(defun _l (e / a b l)
(vla-getboundingbox (vlax-ename->vla-object e) 'a 'b)
(setq l (mapcar 'vlax-safearray->list (list a b)))
(distance (car l) (cadr l))
)
(if (setq ss (ssget "_:L" '((0 . "TEXT"))))
((lambda (i / sn st pt e en j n)
(while (setq sn (ssname ss (setq i (1+ i))))
(if (> (strlen (setq st (cdr (assoc 1 (setq en (entget sn)))))) xfirst)
(progn (setq pt (cdr (assoc 10 en))
e(cdr (assoc -1 (entmod (append en (list (cons 1 (substr st 1 xfirst)))))))
st (substr st xmiddle)
)
(repeat (1+ (/ (strlen st) 45))
(setq
e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 8 62 40 41 50))) (entget e))
(list (cons 1 (substr st 1 45))
(cons 10 (setq pt (polar pt (cdr (assoc 50 (entget e))) (_l e))))
)
)
)
)
(setq st (substr st 46))
)
)
)
)
)
-1
)
)
(princ)
) (vl-load-com)
你好!
因为当你输入make/x时,如果你不提供一些临时参数,它就会求助于默认值。文本样式是组码7,因此可以通过添加代码并使用变量textstyle(cons 7(getvar的textstyle))构建来添加它
(defun c:test (/ _l ss xfirst)
(setq xfirst (getint "\nPre number :"))
(setq xmiddle (+ 2 xfirst))
;; Tharwat 18. May. 2014 ;;
(defun _l (e / a b l)
(vla-getboundingbox (vlax-ename->vla-object e) 'a 'b)
(setq l (mapcar 'vlax-safearray->list (list a b)))
(distance (car l) (cadr l))
)
(if (setq ss (ssget "_:L" '((0 . "TEXT"))))
((lambda (i / sn st pt e en j n)
(while (setq sn (ssname ss (setq i (1+ i))))
(if (> (strlen (setq st (cdr (assoc 1 (setq en (entget sn)))))) xfirst)
(progn (setq pt (cdr (assoc 10 en))
e(cdr (assoc -1 (entmod (append en (list (cons 1 (substr st 1 xfirst)))))))
st (substr st xmiddle)
)
(repeat (1+ (/ (strlen st) 45))
(setq
e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 8 62 40 41 50))) (entget e))
(list (cons 1 (substr st 1 45))
(cons 10 (setq pt (polar pt (cdr (assoc 50 (entget e))) (_l e))))
(cons 7 (getvar 'textstyle))
)
)
)
)
(setq st (substr st 46))
)
)
)
)
)
-1
)
)
(princ)
) (vl-load-com)
未经测试,但应该很好,除非我太生疏了
干杯
e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 7 8 62 40 41 50 51))) (entget e))
谢谢
我把数字加在了上面一行。。。在我查了所有的“犯人”后,发现有些数字是一样的。。。它起作用了。。。谢谢你的帮助 嗯,这不完全一样。它可能会工作,但不会做你最初要求的事情,这是关于它是在活动文本样式上创建的。
通过在我的帖子中添加绿色的cons部分,它将接受任何选定的文本,删除文本样式,并应用当前活动的文本样式,而您所做的修改将保留源的文本样式。基本上,如果您选择的文本样式不是活动或标准样式,它将保持原样。这可能是您想要实现的,但在我看来,如果源代码有可能具有任何其他文本样式,那么最好实际控制输出,而不是保持原样。 谢谢
如果我再次遇到这个问题,我会记得的。。。目前,这对我来说是一种混合和希望。
我真的很感谢这个论坛和你从知情人士那里得到的帮助。
再次感谢
页:
[1]