乐筑天下

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

[编程交流] 到多行文字反应器的线路距离

[复制链接]

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2022-7-5 18:23:18 | 显示全部楼层 |阅读模式
  1. (vl-load-com)    ;Loads ActiveX
  2.     ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;
  3.     ;          LINE PREDEFINED          ;
  4.     ;                        This Function predefines a line by its object handle/ObjID         ;
  5.     ;                     ;
  6.     ;                     ;
  7.     ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;
  8. (defun C:line-predefined ()  ;Defines Predefined Line
  9. (setq acadDocument (vla-get-activedocument (vlax-get-acad-object)))
  10.     ; Set Equal AcadDocument to Active Document in Acad
  11. (setq mspace (vla-get-modelspace acadDocument))
  12.     ; Set Equal MSpace to Mspace in AcadDocument
  13. (setq ename-line (handent "10BE")) ; Set Equal Ename-line to Entity Name Of Handle "10BE"
  14. (setq vlaobject-line (vlax-ename->vla-object ename-line))
  15.     ; Set Equal Vlaobject-line to VLA Object of Ename-line
  16. (setq ename-mtext (handent "10D1")) ; Set Equal Ename-mtext to Entity Name Of Handle "10D1"
  17. (setq vlaobject-mtext (vlax-ename->vla-object ename-mtext))
  18.     ; Set Equal Vlaobject-mtext to VLA Object of Ename-mtext
  19. (setq lineReactor
  20. (vlr-object-reactor
  21.    (list vlaobject-line)
  22.    "Line Reactor"
  23.    '((:vlr-modified . print-length))
  24. )
  25. )     ; Set Equal lineReactor to vla-object-reactor for vla-object-line that executes print-length
  26. (princ)    ; Exit Quietly
  27. )     ;defun
  28.     ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;
  29.     ;          PRINT LENGTH TO MTEXT CONTENTS        ;
  30.     ;                        This Function prints the length of a line predefined by its object handle/ObjID       ;
  31.     ;         To the contents of a predefined Mtext Object        ;
  32.     ;                     ;
  33.     ;-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------;
  34. (defun print-length (notifier-object reactor-object parameter-list)
  35. (If
  36.    (cond ((vlax-property-available-p vlaobject-mtext "Contents")
  37.    (vlax-put-property
  38.      vlaobject-mtext
  39.      (vlax-property-available-p notifier-object "Length")
  40.    )
  41.   )
  42.    ((vlax-property-available-p notifier-object "Length")
  43.     ; Checks if property "Length" of notifier-object (vlaobject-line) is avaible to edit
  44.      (vl-string-subst "ReplaceMe" "Ben" "")
  45.    )
  46.    )     ;cond
  47. )
  48. (princ)    ; Exit Quietly
  49. )     ;defun
  50. (princ)     ; Exit Quietly
  51.    

 
 
 
 
 
 
我希望有一个lisp,当修改vlaobject lines属性length时,它会将该长度作为字符串添加到vlaobject mtext的contents属性中
 
 
最后,我只想替换组成vlaobject mtext内容的文本字符串的一部分,比如用“Length”替换YYY
 
 
多行文字旧内容=3/8“x7”x YYY
 
 
Mtext新内容=3/8“x7”x“长度”
 
 
我认为我只是在打印长度函数方面有问题
 
 
附着了带有预定义对象的图形和lisp
 
 
如果有人能帮我,我将不胜感激。。。
LineMtextReactorV1。lsp
线路测试。图纸
回复

使用道具 举报

63

主题

6297

帖子

6283

银币

后起之秀

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

铜币
358
发表于 2022-7-5 18:45:13 | 显示全部楼层
我认为现场指挥部应该帮助你,没有必要建造反应堆。
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2022-7-5 18:53:08 | 显示全部楼层
它适用于因包含字段的属性而严重减慢速度的动态块。。。。
 
 
所以我这样做是作为一个领域的替代品。。。
 
 
此外,现场需要刷新/现场更新,而反应堆则不需要这样。。。
 
 
所以在我的情况下,需要一个反应堆。很不幸lol
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2022-7-5 19:06:11 | 显示全部楼层
虽然我觉得这是一次很好的学习经历
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2022-7-5 19:15:42 | 显示全部楼层
显然,我可以在多行文字中使用字段,如果它们是对象字段的话
回复

使用道具 举报

28

主题

87

帖子

37

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
167
发表于 2022-7-5 19:26:16 | 显示全部楼层
好的,事实上,如果有人能告诉我我做错了什么,我仍然希望看到这项工作。。。我只是想不通。。。
 
 
我希望最后必须预定义两行中较大的一行胜过另一行,然后在多行文字中表示
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:32 , Processed in 0.415092 second(s), 64 queries .

© 2020-2025 乐筑天下

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