乐筑天下

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

[编程交流] 需要此lisp的帮助

[复制链接]

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 01:15:05 | 显示全部楼层 |阅读模式
我试图编写一个lisp代码,将维度分为两个维度
第一个可以。
但是,第二个仍然是一样的,不会改变到新的点。
  1. (defun c:sd (/ DM1 DM2 ENT1 ENT1NEW ENT2 ENT2NEW EP EP1 EP2 NP NP1 SP SP1 SP2 )
  2. (setq dm1  (car (entsel))
  3. ent1 (entget dm1)
  4. sp1 (assoc 13 ent1)
  5. ep1 (assoc 14 ent1)
  6. sp sp1
  7. ep ep1)
  8. (setq np (getpoint "\nPick Seperating point: ")
  9. np1 (cons 14 np))
  10. (setq ent1new (subst np1 ep1 ent1))
  11. (entmod ent1new)
  12. (command "._copybase" np dm1 "")
  13. (command "._pasteclip" np)
  14. (setq dm2  (entlast)
  15. ent2 (entget dm2)
  16. sp2 (assoc 13 ent2)
  17. ep2 (assoc 14 ent2))  
  18. (setq ent2new (subst np1 sp2 ent2))
  19. (entmod ent2new)
  20. (setq ent2new (subst ep ep2 ent2))
  21. (entmod ent2new)
  22. )
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 01:30:39 | 显示全部楼层
这应该让你开始:
  1. (vl-load-com)
  2. (defun c:DimSplit () (c:DimensionSplit))
  3. (defun c:DimensionSplit (/ ss pt e data s)
  4. (if (and (setq ss (ssget ":S:E:L" '((0 . "DIMENSION"))))
  5.           (setq pt (trans (getpoint "\nPick Seperating point: ") 1 0))
  6.      )
  7.    (progn
  8.      (entmod
  9.          (subst
  10.            (cons 14 pt)
  11.            (assoc 14 (setq data (entget (setq e (ssname ss 0)))))
  12.            data
  13.          )
  14.        )
  15.      (entupd e)
  16.      (setq s (vla-get-scalefactor (vlax-ename->vla-object e)))
  17.      (entlast)
  18.      (entmake
  19.          (list
  20.            (cons 0 "DIMENSION")
  21.            (cons 100 "AcDbEntity")
  22.            (cons 67 0)
  23.            (assoc 8 data)
  24.            (cons 100 "[color="red"]AcDbDimension[/color]")
  25.            (assoc 10 data)
  26.            (assoc 11 data)
  27.            (assoc 70 data)
  28.            (assoc 1 data)
  29.            (assoc 52 data)
  30.            (assoc 53 data)
  31.            (assoc 54 data)
  32.            (assoc 51 data)
  33.            (assoc 210 data)
  34.            (assoc 3 data)
  35.            (cons 100 "[color="red"]AcDbAlignedDimension[/color]")
  36.            (cons 13 pt)
  37.            (assoc 14 data)
  38.            (assoc 15 data)
  39.            (assoc 16 data)
  40.            (assoc 40 data)
  41.            (cons 100 "[color="red"]AcDbRotatedDimension[/color]")
  42.          )
  43.        )
  44.      (vla-put-scalefactor (vlax-ename->vla-object (entlast)) s)
  45.    )
  46. )
  47. (princ)
  48. )
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 01:41:56 | 显示全部楼层
我删除了你的重复线程。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 01:53:58 | 显示全部楼层
这个“dim split”例程可能非常棒,添加了一点GrDraw+GrRead,以显示从光标位置垂直于源dim的“虚线”。我愿意在这里做更多的工作,但这将是非常甜蜜的。只是说说而已。
回复

使用道具 举报

15

主题

68

帖子

53

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
76
发表于 2022-7-6 02:12:36 | 显示全部楼层
 
 
嗨,BlackBox,这个例程不适合垂直维度。
.
021511du3pgbutxz1uyj4y.png
回复

使用道具 举报

51

主题

481

帖子

457

银币

后起之秀

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

铜币
262
发表于 2022-7-6 02:21:00 | 显示全部楼层
我是Tekal用户,尺寸标注采用特殊方式
这个想法来自那里。
见附件
暗淡的拉链
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 21:00 , Processed in 0.492010 second(s), 66 queries .

© 2020-2025 乐筑天下

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