乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 78|回复: 4

[编程交流] 了解为什么默认为sta

[复制链接]

7

主题

23

帖子

16

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:01:03 | 显示全部楼层 |阅读模式
大家好。
有谁能告诉我为什么这个例程默认为标准,即使当前有不同的文本样式。
将一组数字上的字符串拆分。
提前感谢
  1. (defun c:test (/ _l ss xfirst)
  2. (setq xfirst (getint "\nPre number :"))
  3. (setq xmiddle (+ 2 xfirst))
  4. ;;    Tharwat 18. May. 2014        ;;
  5. (defun _l (e / a b l)
  6.    (vla-getboundingbox (vlax-ename->vla-object e) 'a 'b)
  7.    (setq l (mapcar 'vlax-safearray->list (list a b)))
  8.    (distance (car l) (cadr l))
  9. )
  10. (if (setq ss (ssget "_:L" '((0 . "TEXT"))))
  11.    ((lambda (i / sn st pt e en j n)
  12.       (while (setq sn (ssname ss (setq i (1+ i))))
  13.         (if (> (strlen (setq st (cdr (assoc 1 (setq en (entget sn)))))) xfirst)
  14.           (progn (setq pt (cdr (assoc 10 en))
  15.                        e  (cdr (assoc -1 (entmod (append en (list (cons 1 (substr st 1 xfirst)))))))
  16.                        st (substr st xmiddle)
  17.                  )
  18.                  (repeat (1+ (/ (strlen st) 45))
  19.                    (setq
  20.                      e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 8 62 40 41 50))) (entget e))
  21.                                          (list (cons 1 (substr st 1 45))
  22.                                                (cons 10 (setq pt (polar pt (cdr (assoc 50 (entget e))) (_l e))))
  23.                                          )
  24.                                  )
  25.                        )
  26.                    )
  27.                    (setq st (substr st 46))
  28.                  )
  29.           )
  30.         )
  31.       )
  32.     )
  33.      -1
  34.    )
  35. )
  36. (princ)
  37. ) (vl-load-com)
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 15:28:00 | 显示全部楼层
你好!
 
因为当你输入make/x时,如果你不提供一些临时参数,它就会求助于默认值。文本样式是组码7,因此可以通过添加代码并使用变量textstyle(cons 7(getvar的textstyle))构建来添加它
 
  1. (defun c:test (/ _l ss xfirst)
  2. (setq xfirst (getint "\nPre number :"))
  3. (setq xmiddle (+ 2 xfirst))
  4. ;;    Tharwat 18. May. 2014        ;;
  5. (defun _l (e / a b l)
  6.    (vla-getboundingbox (vlax-ename->vla-object e) 'a 'b)
  7.    (setq l (mapcar 'vlax-safearray->list (list a b)))
  8.    (distance (car l) (cadr l))
  9. )
  10. (if (setq ss (ssget "_:L" '((0 . "TEXT"))))
  11.    ((lambda (i / sn st pt e en j n)
  12.       (while (setq sn (ssname ss (setq i (1+ i))))
  13.         (if (> (strlen (setq st (cdr (assoc 1 (setq en (entget sn)))))) xfirst)
  14.           (progn (setq pt (cdr (assoc 10 en))
  15.                        e  (cdr (assoc -1 (entmod (append en (list (cons 1 (substr st 1 xfirst)))))))
  16.                        st (substr st xmiddle)
  17.                  )
  18.                  (repeat (1+ (/ (strlen st) 45))
  19.                    (setq
  20.                      e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 8 62 40 41 50))) (entget e))
  21.                                          (list (cons 1 (substr st 1 45))
  22.                                                (cons 10 (setq pt (polar pt (cdr (assoc 50 (entget e))) (_l e))))
  23.                                                [color="green"](cons 7 (getvar 'textstyle))[/color]
  24.                                          )
  25.                                  )
  26.                        )
  27.                    )
  28.                    (setq st (substr st 46))
  29.                  )
  30.           )
  31.         )
  32.       )
  33.     )
  34.      -1
  35.    )
  36. )
  37. (princ)
  38. ) (vl-load-com)

 
未经测试,但应该很好,除非我太生疏了
干杯
回复

使用道具 举报

7

主题

23

帖子

16

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 15:40:51 | 显示全部楼层
  1. e (entmakex (append (vl-remove-if-not '(lambda (x) (member (car x) '(0 7 8 62 40 41 50 51))) (entget e))

 
谢谢
我把数字加在了上面一行。。。在我查了所有的“犯人”后,发现有些数字是一样的。。。它起作用了。。。谢谢你的帮助
回复

使用道具 举报

28

主题

317

帖子

292

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
140
发表于 2022-7-5 15:57:03 | 显示全部楼层
嗯,这不完全一样。它可能会工作,但不会做你最初要求的事情,这是关于它是在活动文本样式上创建的。
 
通过在我的帖子中添加绿色的cons部分,它将接受任何选定的文本,删除文本样式,并应用当前活动的文本样式,而您所做的修改将保留源的文本样式。基本上,如果您选择的文本样式不是活动或标准样式,它将保持原样。这可能是您想要实现的,但在我看来,如果源代码有可能具有任何其他文本样式,那么最好实际控制输出,而不是保持原样。
回复

使用道具 举报

7

主题

23

帖子

16

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 16:14:18 | 显示全部楼层
谢谢
如果我再次遇到这个问题,我会记得的。。。目前,这对我来说是一种混合和希望。
我真的很感谢这个论坛和你从知情人士那里得到的帮助。
再次感谢
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 23:30 , Processed in 1.608276 second(s), 63 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表