乐筑天下

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

[编程交流] 用于创建多重引线Styl的LISP

[复制链接]

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:03:12 | 显示全部楼层 |阅读模式
.......
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:10:16 | 显示全部楼层
这是一个开始。。您需要找到所有要更改的属性并添加它们。
 
  1. (defun _makemleaderstyle (name txtstyle / d mld mlo)
  2. ;; RJP - 09.16.2017
  3. (if
  4.    (and
  5.      (setq d (vla-get-dictionaries (vla-get-activedocument (vlax-get-acad-object))))
  6.      (= 'vla-object (type (setq mld (vl-catch-all-apply 'vla-item (list d "ACAD_MLEADERSTYLE")))))
  7.      (= 'vla-object
  8. (type
  9.    (setq mlo (vl-catch-all-apply 'vlax-invoke (list mld 'addobject name "AcDbMLeaderStyle")))
  10. )
  11.      )
  12.    )
  13.     (progn (vla-put-alignspace mlo 0.1)
  14.     (vla-put-annotative mlo :vlax-true)
  15.     (vla-put-arrowsize mlo 0.18)
  16.     (vla-put-blockconnectiontype mlo 0)
  17.     (vla-put-breaksize mlo 0.1)
  18.     (vla-put-description mlo "")
  19.     (vla-put-dogleglength mlo 0.125)
  20.     (vla-put-enablelanding mlo :vlax-true)
  21.     (vla-put-firstsegmentangleconstraint mlo 0)
  22.     (vla-put-landinggap mlo 0.05)
  23.     (vla-put-maxleadersegmentspoints mlo 2)
  24.     (vla-put-scalefactor mlo 1)
  25.     (vla-put-secondsegmentangleconstraint mlo 0)
  26.     (vlax-put mlo 'textalignmenttype 0)
  27.     (vlax-put mlo 'textleftattachmenttype 1)
  28.     (vlax-put mlo 'textrightattachmenttype 1)
  29.     (vla-put-textheight mlo 0.1)
  30.     ;; Make sure you load your texstyle first or it will default to standard
  31.     (vla-put-textstyle
  32.       mlo
  33.       (if (tblobjname "style" txtstyle)
  34.         txtstyle
  35.         "standard"
  36.       )
  37.     )
  38.     mlo
  39.     )
  40. )
  41. )
  42. ;; (_makemleaderstyle "Bazinga!" "Standard")
  43. (vl-load-com)
  44. ;; Properties below
  45.                                 ; IAcadMLeaderStyle: AutoCAD MLeaderStyle Interface
  46.                                 ; Property values:
  47.                                 ;   AlignSpace = 5.0
  48.                                 ;   Annotative = 0
  49.                                 ;   Application (RO) = #<VLA-OBJECT IAcadApplication 00007ff701d75188>
  50.                                 ;   ArrowSize = 0.18
  51.                                 ;   ArrowSymbol = ""
  52.                                 ;   BitFlags = 0
  53.                                 ;   Block = ""
  54.                                 ;   BlockColor = #<VLA-OBJECT IAcadAcCmColor 0000022367bcf870>
  55.                                 ;   BlockConnectionType = 0
  56.                                 ;   BlockRotation = 0.0
  57.                                 ;   BlockScale = 1.0
  58.                                 ;   BreakSize = 0.125
  59.                                 ;   ContentType = 2
  60.                                 ;   Description = ""
  61.                                 ;   Document (RO) = #<VLA-OBJECT IAcadDocument 0000022358e47788>
  62.                                 ;   DoglegLength = 2.0
  63.                                 ;   DrawLeaderOrderType = 0
  64.                                 ;   DrawMLeaderOrderType = 1
  65.                                 ;   EnableBlockRotation = -1
  66.                                 ;   EnableBlockScale = -1
  67.                                 ;   EnableDogleg = -1
  68.                                 ;   EnableFrameText = 0
  69.                                 ;   EnableLanding = -1
  70.                                 ;   FirstSegmentAngleConstraint = 0
  71.                                 ;   Handle (RO) = "2FA"
  72.                                 ;   HasExtensionDictionary (RO) = 0
  73.                                 ;   LandingGap = 0.4
  74.                                 ;   LeaderLineColor = #<VLA-OBJECT IAcadAcCmColor 0000022367bcf690>
  75.                                 ;   LeaderLinetype = 1
  76.                                 ;   LeaderLineTypeId = AutoCAD.Application: Null object ID
  77.                                 ;   LeaderLineWeight = -2
  78.                                 ;   MaxLeaderSegmentsPoints = 2
  79.                                 ;   Name = "test"
  80.                                 ;   ObjectID (RO) = 3212
  81.                                 ;   ObjectName (RO) = "AcDbMLeaderStyle"
  82.                                 ;   OverwritePropChanged (RO) = 0
  83.                                 ;   OwnerID (RO) = 2921
  84.                                 ;   ScaleFactor = 1.0
  85.                                 ;   SecondSegmentAngleConstraint = 0
  86.                                 ;   TextAlignmentType = 0
  87.                                 ;   TextAngleType = 0
  88.                                 ;   TextAttachmentDirection = 0
  89.                                 ;   TextBottomAttachmentType = 0
  90.                                 ;   TextColor = #<VLA-OBJECT IAcadAcCmColor 0000022367bcf6f0>
  91.                                 ;   TextHeight = 0.2
  92.                                 ;   TextLeftAttachmentType = 2
  93.                                 ;   TextRightAttachmentType = 3
  94.                                 ;   TextString = ""
  95.                                 ;   TextStyle = AutoCAD.Application: Null object ID
  96.                                 ;   TextTopAttachmentType = 0
  97.                                 ; Methods supported:
  98.                                 ;   Delete ()
  99.                                 ;   GetExtensionDictionary ()
  100.                                 ;   GetXData (3)
  101.                                 ;   SetXData (2)
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:16:56 | 显示全部楼层
 
我不太明白你的意思。。。看起来你有列出的属性。。。此中缺少哪些属性?或者你是说我只需要把MLeader中的内容改成我想看到的内容?
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:19:23 | 显示全部楼层
当我运行它时,它会说“Error too less arguments”,第一个不应该有一个c别名吗?(defun _makemleaderstyle(名称txtstyle/d mld mlo)
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:25:06 | 显示全部楼层
该函数接受名称和textsyle(\u makemleaderstyle“Alpha”“Ascent”)。。我添加了一些属性,但您正在创建的样式可能需要更多属性。
 
IMO。。有一个包含所有样式的模板,然后从该模板开始,或者将其作为块插入,这要容易得多。
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:29:10 | 显示全部楼层
 
是的,我们有一个模板,并添加了我们的mleader风格。。。我想我们想要这样做的原因是,每当我们打开一个图形时,ascent mleaderstyle就会自动出现在图形中,并设置为当前。。。但我认为我们可以通过在模板中已有它来解决这个问题。。。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:35:54 | 显示全部楼层
在启动时添加以下内容:
  1. (command "_.insert" "fullpathtotemplate" nil)
  2. (setvar 'cmleaderstyle "Alpha")
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:42:52 | 显示全部楼层
我想我想说的是,如果我们开始在外部公司绘图。
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:44:56 | 显示全部楼层
 
请参阅之前的回复。
回复

使用道具 举报

16

主题

65

帖子

49

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:52:09 | 显示全部楼层
看起来代码不起作用。。。执行时说无。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 19:52 , Processed in 0.485814 second(s), 83 queries .

© 2020-2025 乐筑天下

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