乐筑天下

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

[编程交流] 修改和改进现有路线

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:09:31 | 显示全部楼层 |阅读模式
你好
 
 
我目前正在使用一个函数,该函数对二维线进行尺寸标注,并生成文本以显示相关尺寸,我正在尝试确定是否可以在插入文本时为其指定特定位置。
目前,文本被手动放置在例程的末尾,但我希望它被放置在特定的偏移位置,即:距离直线0.50m,如下例。
 
我是一个完全的新手,当谈到Lisp程序的例程,并渴望学习,如果有人能告诉我正确的方向,这将是非常感谢。
这是我们目前正在使用的。。。
 
 
  1. (defun c:d1-2002()
  2. (command "osnap" "end")
  3. (setq pt1 (getpoint "1st end:"))
  4. (setvar "lastpoint" pt1)
  5. (setq pt2 (getpoint "2nd end:"))
  6. (command "osnap" "")
  7. (setq dist (rtos (distance pt1 pt2) 2 2))
  8. (setq ang (- 90.0 (/ (* (angle pt1 pt2) 180.0) pi)))
  9. (setq pt1 (getpoint "mid point of text:"))
  10. (setq b  (* 3 (getvar "dimscale")))
  11. (command "-layer" "m" "DISTANCE" "c" "3" "" "")
  12. (command "text" "m" pt1 b ang dist)
  13. (princ)
  14. )

160936gw2rsjrx82zto27t.jpg
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 15:26:07 | 显示全部楼层
Dimstyle是一种创建样式的方法,它关闭了所有端点,并设置了尺寸线,因此只以文本结束,然后处理偏移并将文本置于中间等
 
另一种方法是计算出与lisp相似的文本位置。
 
  1. ; simple line labeller
  2. ; by Alan H June 2018
  3. (defun c:linelab ( / pt1 pt2 pt3 oldsnap rads oldang ang dist  )
  4. (setq oldsnap (getvar 'osmode))
  5. (setq oldang (getvar 'angdir))
  6. (setq rads (getvar 'aunits))
  7. (setvar 'osmode 1)
  8. (setq dimsc (* 3 (getvar "dimscale")))
  9. (alert "Text will follow Pt1 -> pt2") ; delete line later
  10. (setq pt1 (getpoint "pick end pt"))
  11. (setq pt2 (getpoint "Pick other end"))
  12. (setq ang (angle pt1 pt2))
  13. (setq dist (distance pt1 pt2))
  14. (setq pt3 (polar pt1 ang (/ dist 2.0)))
  15. (setq pt3 (polar pt3 (+ ang (/ pi 2.0)) 3.5)) ; hard coded 3.5
  16. (if (= (tblsearch "layer" "DISTANCE") nil)
  17. (command "-layer" "m" "DISTANCE" "c" "3" "" "")
  18. )
  19. (setvar 'osmode 0) ; end
  20. (setvar 'angdir 0) ; east
  21. (setvar 'aunits 3) ; radians
  22. (command "text" pt3 dimsc (- ang (/ pi 2.0)) (rtos dist 2 2))
  23. ; flip option here inside/outside press enter
  24. (setvar 'osmode oldsnap)
  25. (setvar 'angdir oldang)
  26. (setvar 'aunits rads)
  27. )
  28. (c:linelab)
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 15:31:40 | 显示全部楼层
请阅读代码发布指南,并将您的代码包含在代码标签中。[NOPARSE]
  1. Your Code Here[/NOPARSE]
=
  1. Your Code Here
回复

使用道具 举报

0

主题

24

帖子

24

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 15:42:22 | 显示全部楼层
下面是一些快速编写的内容,您可以通过使用entmake for the text labels&cmdecho来进一步优化,以消除控制台垃圾邮件,但我将留给您使用
 
我喜欢BIGAL提到的简化dimstyle,如果线条发生变化,标签会自动更新
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:49:44 | 显示全部楼层
谢谢你的建议,如果有机会,我会查一查,然后告诉你我的进展。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 15:55:20 | 显示全部楼层
当然,我将来一定会遵循这些指导原则。
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:07:27 | 显示全部楼层
谢谢@FranknBeans,现在有很多事情要处理!
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:12:24 | 显示全部楼层
再次感谢所有的建议,最终开始实施其中的一些建议,并最终采用了精简的维度风格。这个解决方案肯定更容易掌握,但我仍然对Auto-LISP方面感兴趣,并将努力继续与社区互动,以达到这一目的。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-14 21:04 , Processed in 2.429125 second(s), 72 queries .

© 2020-2025 乐筑天下

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