乐筑天下

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

[编程交流] 更改此李的属性

[复制链接]

7

主题

22

帖子

25

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-6 17:24:42 | 显示全部楼层 |阅读模式
你好,
 
有人能帮我一下吗,我一直在尝试更改我使用的一个有用的lisp的属性。
 
每次拾取点时,lisp都会给我一个级别值,但我想更改线型和点标记。
 
有人知道如何改变这一点吗?
 
提前谢谢。
 
内利。
 
下面是Lisp。
 
  1. (defun c:txm()
  2. (terpri)
  3. ;; Perform math on text numbers in-place, by Carl B., coded March 2000
  4. (setvar "cmdecho" 0)
  5. ;; select lines to annotate
  6. (setq mfactor 1 afactor 0 input nil)
  7. (initget "M A")
  8. (setq input (getkword "\nMultiply<M> or Add<A>?: "))
  9. (cond
  10. ((= input "M") (initget 1)
  11. (setq mfactor (getreal "\nMult Factor: ")))
  12. ((= input "A") (initget 1)
  13. (setq afactor (getreal "\nAdd Amount: ")))
  14. (T nil)
  15. ) ; cond
  16. (initget 1)
  17. (setq precis (getint "\nPlaces after decimal: "))
  18. (setq units (getstring T "\nEnter units to append: "))
  19. (princ "\nSelect text to revise: ")
  20. (setq textset nil)
  21. (while (not textset) (setq textset (ssget '((0 . "*TEXT")))))
  22. (setq numitems (sslength textset))
  23. ;; loop to isolate text & change text
  24. (setq itemno 0)
  25. (repeat numitems
  26. (setq entname (ssname textset itemno))
  27. ;;(setq enttype (cdr (assoc 0 (entget entname))))
  28. (setq oldtxt_pr (assoc 1 (entget entname)))
  29. (setq oldtxt (cdr oldtxt_pr))
  30. (setq oldtext# (atof oldtxt))
  31. (setq newtext# (+ (* oldtext# mfactor) afactor))
  32. (setq newtxt (strcat (rtos newtext# 2 precis) units))
  33. (setq newtxt_pr (cons 1 newtxt))
  34. (setq entstuff (entget entname))
  35. (setq entstuff (subst newtxt_pr oldtxt_pr entstuff))
  36. (entmod entstuff)
  37. (setq itemno (1+ itemno))
  38. ) ; repeat
  39. (princ)
  40. ) ; the end
  41. (princ "Do math on text Start with "TXM"")
  42. (princ)
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 17:36:37 | 显示全部楼层
 
你确定这个Lisp程序有效吗?
回复

使用道具 举报

7

主题

22

帖子

25

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-6 17:40:47 | 显示全部楼层
它适用于我的机器和2008,但我只需要更改文本样式和点标记。
 
你能帮忙吗?
 
当做
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 17:46:25 | 显示全部楼层
如果你详细说明你的要求,我可以帮你。。。我只需要更改文本样式和点标记这里没有足够的信息来制作一些东西。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 17:49:57 | 显示全部楼层
内莉,
 
如果我理解正确,(如果我错了,请纠正我),但您使用的LISP是一个程序,它将对包含数字的文本执行一些数学运算。
 
当你说
 
 
你的意思是改变文字风格吗?
回复

使用道具 举报

7

主题

22

帖子

25

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-6 17:59:32 | 显示全部楼层
大家好,
 
对不起,没有给大家提供正确的信息。
 
这个lisp现在正在创建高度为0.2的标准Courier New级别(文本样式),但我希望它的高度为0.18的标准Simple。
 
我还希望目前正在创建的箭头被一个0.18大小的十字(+)替换。
 
再次提前感谢。
 
内莉
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 18:06:16 | 显示全部楼层
 
它是另一个lisp而不是C:TXM。你能用你的水平标记发布lisp或screenshort图片吗?
回复

使用道具 举报

7

主题

22

帖子

25

银币

初来乍到

Rank: 1

铜币
41
发表于 2022-7-6 18:07:21 | 显示全部楼层
现在应该附加lisp。
 
谢谢
倒转lsp
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 18:14:01 | 显示全部楼层
试试这个,如果你有任何问题,请告诉我
指针。lsp
回复

使用道具 举报

2

主题

439

帖子

536

银币

限制会员

铜币
-14
发表于 2022-7-6 18:21:33 | 显示全部楼层
 
你是说单纯形吗。shx字体?
 
试试这个。它使用属性级别和交叉标记创建块,并自动添加“单纯形”样式。
 
  1. (defun c:lemar(/ sCol bCol nStl nBlk
  2.           cBlk nAtr ln1 ln2 cAtr)
  3. (vl-load-com)
  4. (setq aDoc(vla-get-ActiveDocument
  5.       (vlax-get-acad-object))
  6.      sCol(vla-get-TextStyles aDoc)
  7.      bCol(vla-get-Blocks aDoc)
  8.      ); end setq
  9. (if(vl-catch-all-error-p(vl-catch-all-apply 'vla-Item
  10. (list sCol "Simplex")))
  11.     (progn
  12.       (setq nStl(vla-Add sCol "Simplex"))
  13.       (vla-put-FontFile nStl "simplex.shx")
  14.      ); end progn
  15.    ); end if
  16. (if(vl-catch-all-error-p(vl-catch-all-apply 'vla-Item
  17. (list bCol "Level Marker")))
  18.    (progn
  19.    (setq nBlk(vla-Add bCol
  20.                (vlax-3D-point '(0 0 0))
  21.                "Level Marker"))
  22.    (setq nAtr(vla-AddAttribute nBlk 0.18 acAttributeModePreset
  23.                      "" (vlax-3D-point '(0 0 0)) "LEVEL" "X"))
  24.    (vla-put-Alignment nAtr acAlignmentBottomCenter)
  25.    (vla-put-StyleName nAtr "Simplex")
  26.    (vla-put-TextAlignmentPoint nAtr
  27.      (vlax-3D-point '(0.0 0.1 0.0)))
  28.    (setq ln1(vla-AddLine nBlk(vlax-3D-Point '(-0.09 0.0 0.0))
  29.                     (vlax-3D-Point '(0.09 0.0 0.0)))
  30.          ln2(vla-AddLine nBlk(vlax-3D-Point '(0.0 -0.09 0.0))
  31.                     (vlax-3D-Point '(0.0 0.09 0.0))))
  32.    (mapcar 'vla-put-Layer '(nAtr ln1 ln2) '("0" "0" "0"))
  33.     ); end progn
  34.    ); end if
  35. (princ "\nPlace level marker or Right Click to Quit> ")
  36. (while(setq cPt(getpoint))
  37.    (setq cBlk(vla-InsertBlock(vla-get-ModelSpace aDoc)
  38.         (vlax-3D-Point cPt)"Level Marker"
  39.          1.0 1.0 1.0 0.0)
  40.   cAtr(car(vlax-safearray->list
  41.        (vlax-variant-value(vla-GetAttributes cBlk)))))
  42.    (vla-put-TextString cAtr(rtos(cadr cPt)2 2))
  43.    ); end while
  44. (princ)
  45. ); end of c:lemar
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 17:21 , Processed in 0.587992 second(s), 83 queries .

© 2020-2025 乐筑天下

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