乐筑天下

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

[编程交流] 多导导出问题

[复制链接]

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:45:26 | 显示全部楼层 |阅读模式
嘿,伙计们,第一次发帖。这个论坛在过去帮助了我,我完全撞到了墙。
 
我的问题是多重领导。我转换了很多。dwg文件。shp文件,并且无论如何都无法直接导出多重引线。
 
所以我一直在尝试构建一些LISP代码,将多重引线的文本放置在它所指向的准确位置(不需要漂亮,只需要文本的对齐点是正确的位置)。
 
这远远超出了我的专业水平。任何帮助都是非常合适的
 
(或者,如果有一个更简单的解决方案隐藏在某处,那就太好了!)
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:55:58 | 显示全部楼层
你试过引爆它们吗?
回复

使用道具 举报

16

主题

69

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 15:59:30 | 显示全部楼层
我假设explode选项对您有效,但如果不起作用,我决定尝试一下。这可能并不优雅,但我相信它可以帮助你开始。我只测试了一点点。我对这些评论有点过火,但我想这不会有什么害处。
 
  1. ;MLeaderTest
  2. (defun c:mltest ( / ss i e p1 height angle contents )
  3. (setq ss (ssget '(( 0 . "MULTILEADER" )))) ;get selection of multileaders
  4. (setq i 0) ;set loop index
  5. (repeat (sslength ss) ;loop through each selected entity
  6.         (setq e (ssname ss i)) ;get current entity
  7.         (setq p1 (cdr (assoc 110 (entget e)))) ;set p1 to the point coordinates that the leader is pointing to
  8.         (setq height (cdr (assoc 41 (entget e)))) ;set text height
  9.         (setq angle 0) ;this defaults the rotation angle to be 0
  10.         (setq contents (cdr (assoc 304 (entget e)))) ;get text contents
  11.         (command "text" p1 height angle contents) ;create a new text object based on gathered info
  12.         (command "erase" e "") ;erase Mleader entity
  13.         (setq i (1+ i)) ;increment index
  14. )
  15. (princ)
  16. )
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:10:04 | 显示全部楼层
爆炸不起作用。它将文本放置在作为多重引线一部分时的精确位置。
 
感谢benhubel的帮助!以及评论(对初学者很有用)。
 
奇怪的是,它在我当前的绘图中,可能有一半的多重引线上都能完美地工作。另一半被放置在非常不一致的地方,有时离多重领导本身很远。无法找出导致不一致的原因。
 
我已经附上了我的测试。dwg以便您可以查看。
 
领导测试。图纸
回复

使用道具 举报

16

主题

69

帖子

54

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
80
发表于 2022-7-5 16:16:41 | 显示全部楼层
我还在学习,所以我不完全确定原因是什么,但这似乎是放置引线后移动引线点的结果。我打赌我使用了错误的assoc代码,因为它在我的初始测试工作。我看看能不能找到解决办法。
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 16:22:29 | 显示全部楼层
在Lisp例程中调用的命令将遵循OSMODE设置。要避免不需要的对象捕捉,可以使用:
  1. (command "text" "_non" p1 height angle contents)
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 16:26:15 | 显示全部楼层
像Roy_043但不需要
 
  1. (setq oldsnap (getvar 'osmode))
  2. (setvar 'osmode 0)
  3. ... your code
  4. (setvar 'osmode oldsnap)
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:32:16 | 显示全部楼层
这是一个快捷方式。。星期五快乐!
  1. (defun c:foo (/ r o n)
  2. (if (setq n (ssget ":L" '((0 . "MULTILEADER"))))
  3.    (foreach x (vl-remove-if 'listp (mapcar 'cadr (ssnamex n)))
  4.      (setq o (vlax-ename->vla-object x))
  5.      (setq r (vlax-invoke o 'getleaderlinevertices 0))
  6.      (if (entmakex (list '(0 . "TEXT")
  7.                   '(100 . "AcDbEntity")
  8.                   '(67 . 0)
  9.                   (cons 8 (vla-get-layer o))
  10.                   '(100 . "AcDbText")
  11.                   (list 10 (car r) (cadr r) (caddr r))
  12.                   (cons 40 (vla-get-textheight o))
  13.                   (cons 1 (vla-get-textstring o))
  14.                   (cons 50 (vla-get-textrotation o))
  15.                   '(41 . 1.0)
  16.                   '(51 . 0.0)
  17.                   (cons 7 (vla-get-textstylename o))
  18.                   '(71 . 0)
  19.                   '(72 . 0)
  20.                   '(11 0.0 0.0 0.0)
  21.                   '(100 . "AcDbText")
  22.                   '(73 . 0)
  23.             )
  24.   )
  25. (entdel x)
  26.      )
  27.    )
  28. )
  29. (princ)
  30. )
  31. (vl-load-com)
回复

使用道具 举报

1

主题

3

帖子

2

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:43:19 | 显示全部楼层
ronjonp我不知道那一半代码是什么意思,但它工作得绝对漂亮。
 
我真的很感谢大家的帮助,你们让我的导出过程变得更加灵活,再加上我学到了更多的LISP语言。赢,赢。
 
大家星期五快乐
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:49:06 | 显示全部楼层
 
很乐意帮忙。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 00:05 , Processed in 1.239816 second(s), 83 queries .

© 2020-2025 乐筑天下

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