乐筑天下

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

[编程交流] 在此处更正代码-帮助

[复制链接]

55

主题

133

帖子

78

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 11:03:36 | 显示全部楼层 |阅读模式
尊敬的各位:,
 
请更正最后一行的代码,将宽度更新为“(vlax put property lay’width(*0.75 width\u old))”。
请帮忙。
 
  1. (defun style_change_to_avoid_bug_in_text_Selection (/ get->styleobj a width_old)
  2. (defun get->styleobj () (vla-get-textstyles (vla-get-ActiveDocument (vlax-get-acad-object))))
  3. (vlax-for lay (get->styleobj)
  4.    (Setq a (strcase (vlax-get-property lay 'FontFile)))
  5.    (if (= (substr a (- (strlen a) 2) (strlen a)) "TTF")
  6.      (progn (Setq name_Style (vlax-get-property lay 'Name))
  7.             (setq width_old (vlax-get-property lay 'width))
  8.             (vlax-put-property lay 'FontFile "romand.shx")
  9.         (vlax-put-property lay 'width (* 0.75 width_old) )
  10.             ;;;(vlax-put-property lay 'width (rtos (* 0.75 width_old) 2 2))
  11.      )
  12.    )
  13. )
  14. (command "regen")
  15. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 11:48:25 | 显示全部楼层
这似乎对我有用:
 
  1. (defun test ( / a name_style width_old)
  2. (vlax-for sty (vla-get-textstyles
  3.                  (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))))
  4.    
  5.    (setq a (strcase (vlax-get-property sty 'FontFile)))
  6.    (if (eq (substr a (- (strlen a) 2)) "TTF")
  7.      (progn
  8.        (setq name_Style (vlax-get-property sty 'Name))
  9.        (setq width_old  (vlax-get-property sty 'width))
  10.        (vlax-put-property sty 'FontFile "romand.shx")
  11.        (vlax-put-property sty 'width (* 0.75 width_old))
  12.      )
  13.    )
  14. )
  15. (vla-regen doc acActiveViewport)
  16. (princ)
  17. )
回复

使用道具 举报

55

主题

133

帖子

78

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
280
发表于 2022-7-6 12:23:31 | 显示全部楼层
 
 
谢谢李修改我的代码。我想在下面的代码也这样。请帮忙,你还有其他逻辑来完成这项任务吗?
 
  1.   (defun style_change (/ a name_style width_old)
  2.    (vlax-for sty (vla-get-textstyles (setq doc (vla-get-ActiveDocument (vlax-get-acad-object))))
  3.      (setq a (strcase (vlax-get-property sty 'FontFile)))
  4.      (if (eq (substr a (- (strlen a) 2)) "TTF")
  5.        (progn (setq name_Style (vlax-get-property sty 'Name))
  6.               (setq width_old (vlax-get-property sty 'width))
  7.               (vlax-put-property sty 'FontFile "romand.shx")
  8.               (Setq sset (ssget "x" (list (cons 7 name_Style))))
  9.               (Setq #k 0)
  10.               (repeat (sslength sset)
  11.                 (Setq ename (ssname sset #k))
  12.                 (Setq vlobj (vlax-ename->vla-object ename))
  13.                 (if (vlax-property-available-p vlobj 'width)
  14.                   (vla-put-width vlobj (* 0.75 width_old))
  15.                   (vla-put-scalefactor vlobj (* 0.75 width_old))
  16.                 )
  17.                 (Setq #k (1+ #k))
  18.               )
  19.        )
  20.      )
  21.    )
  22.    (vla-regen doc acActiveViewport)
  23.    (princ)
  24. )
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 11:27 , Processed in 0.379531 second(s), 58 queries .

© 2020-2025 乐筑天下

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