乐筑天下

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

[编程交流] 在multilea上交换箭头

[复制链接]

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 17:37:29 | 显示全部楼层 |阅读模式
我有一个关于交换多重引线箭头的快速问题。例如,其中一个代码只交换到整数符号,另一个代码交换到点。我注意到的一件事是,除非图形中已经有另一个具有相同箭头的多重引线,否则它不起作用。我不确定这是否与图形中实际不存在的块有关,或者是其他原因。我的一个密码是
  1. (defun c:mleaderdot (/ ss cnt obj *error*)
  2. (defun *error* (msg)
  3.    (if (not
  4.          (member msg '("Function cancelled" "quit / exit abort"))
  5.        )
  6.      (princ (strcat "\nError: " msg))
  7.    )
  8.    (princ)
  9. )
  10. (if (setq ss (LM:ssget "\nSelect MLEADERS to put dot"
  11.                         '(((0 . "MULTILEADER")))
  12.               )
  13.      )
  14.    (progn
  15.      (setq cnt 0)
  16.      (repeat (sslength ss)
  17.        (setq obj (vlax-ename->vla-object (ssname ss cnt)))
  18.        (setq cnt (+ cnt 1))
  19.        (vla-put-ArrowheadBlock obj "_dot")
  20.      )
  21.    )
  22. )
  23. (princ)
  24. )
回复

使用道具 举报

11

主题

98

帖子

87

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
55
发表于 2022-7-5 18:06:06 | 显示全部楼层
我在尝试使用时发现相同的“未找到密钥”错误
 
  1. (vla-put-arrowheadtype ent "_dot")

 
然而,我成功地用
 
  1. (vla-put-arrowheadtype xEnt 3)

 
一旦我使用了箭头类型,我就可以放置箭头块“U点”。
 
好的,这里有一种(有点混乱)的方法,允许您根据块名称选择箭头。该方法迭代一个最大为19的整数,该整数是可用的箭头数(或至少vla put ARROWSHEADTYPE 20未找到错误)。每个箭头类型都应用于选择图元和从vla get ARROWSHEADTYPE中拾取的块名称。潜在箭头列表打印到控制台。循环完成后,选定多重引线的箭头将恢复到其原始状态。最后,邀请用户输入表示所需箭头块名称的整数。
  1.    (vl-load-com)
  2.    (defun c ()
  3.      (setq ent (car(entsel))
  4.            xEnt (vlax-ename->vla-object ent)
  5.            aht (vla-get-arrowheadtype xEnt)
  6.                  i -1)
  7.      (while (< (setq i (+ i 2)) 18)
  8.            (setq str (strcat
  9.               (rtos i 2)
  10.               ". "
  11.               (vla-get-arrowheadblock xEnt)
  12.               "      "
  13.               (rtos (1+ i))
  14.               ". "))
  15.            (vla-put-arrowheadtype xEnt (1+ i))
  16.            (princ (strcat
  17.                    str
  18.                    (vla-get-arrowheadblock xEnt)
  19.                    "\n")))
  20.       
  21.       
  22.        (princ (strcat
  23.               "19. "
  24.               (vla-get-arrowheadblock xEnt)
  25.             "\n"))
  26.        (vla-put-arrowheadtype xEnt aht)
  27.        (vla-put-arrowheadtype xEnt (getint "Enter the id of the arrow head you're looking for:"))
  28.      )
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:21:17 | 显示全部楼层
使用“属性”可以选择多个引线并设置“点”等。不知道为什么需要lisp?
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 18:25:38 | 显示全部楼层
谢谢你的帮助!有趣的是,它得到了这个错误,但整数方法可以工作。我会用这个角色代码,谢谢你的帮助!BigAL,我从来没有真正打开过属性对话框,除非我必须使用它,否则我不会使用它,因为我发现它比使用命令行慢得多。
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

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

铜币
325
发表于 2022-7-5 18:41:57 | 显示全部楼层
漂亮的线!也许这将有助于与VLA一起打造新的mleaderstyle。
当我尝试制作新的mleaderstyles时,每个人都应该包含每种standart箭头类型,但此时失败了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-13 03:51 , Processed in 0.850752 second(s), 62 queries .

© 2020-2025 乐筑天下

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