乐筑天下

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

[编程交流] LISP变暗线长度,但需要

[复制链接]

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 06:49:00 | 显示全部楼层 |阅读模式
你好
 
我正在调暗2D中的消防线。本质上,这些管线是管道。我发现了一个很好的lisp例程,可以在绘图上显示管道的大小和长度。这太完美了。
 
但我希望dims四舍五入到5,即3253将变为3255mm
 
我已经把代码贴在下面了,有人能帮我吗?
  1. ;;;
  2. ;;;  PipeDim
  3. ;;;
  4. ;;;  Description
  5. ;;;  -----------
  6. ;;;  PIPEDIM creates length and size dimension text for each pipe selected.
  7. ;;;
  8. (defun c:pipedim( / pipedim_ss j)
  9. ; Call initialization function
  10. (igneus_init)
  11. ; get pipe size to use
  12. (if (null igneus_curPipeSize) (setq igneus_curPipeSize 1.0))
  13. (setq j igneus_curPipeSize)
  14. (if (null (setq igneus_curPipeSize (getReal (strcat '"Enter pipe size <" (rtos igneus_curPipeSize 2 2) '">:"))))
  15.    (setq igneus_curPipeSize j))
  16. ; Let the use select the pipe to dimension
  17. (princ "\nSelect pipe to dimension")
  18. (setq pipedim_ss (ssget))
  19. ;;; Dimension each line in the selection set
  20. (setq j 0)
  21. (while (< j (ssLength pipedim_ss))
  22.    (if (= '"LINE" (cdr (assoc 0 (entget (ssname pipedim_ss j)))))
  23.      (pipedim_entity (ssname pipedim_ss j) igneus_curPipeSize igneus_footchar))
  24.    (setq j (+ j 1)) )
  25. (igneus_end)
  26. )
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 06:57:03 | 显示全部楼层
您是否希望舍入“igneus\u curPipeSize”变量的值?
 
如果看不到整个程序,很难为您提供帮助,因为您缺少igneus\u init和igneus\u end函数的定义,但更重要的是,缺少pipedim\u实体函数的定义。
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:00:34 | 显示全部楼层
李·麦克,
 
我希望线下显示的长度四舍五入到最接近的5mm。
 
代码到long to post。伊涅斯。lsp
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:05:36 | 显示全部楼层
还有谁能帮忙吗?我已经附上了上面的整个lsp。。。期待您的帮助。
回复

使用道具 举报

17

主题

193

帖子

179

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
84
发表于 2022-7-6 07:11:56 | 显示全部楼层
试试这个:
 
  1. <br> <br>(defun c:Test (/ )<br>(setq CmdOld (getvar "cmdecho")) <br>(setvar "cmdecho" 0) <br>(setq DIMNEW (entsel "\n Select Dimension to Round Off:"))<br>(command "dimoverride" "dimrnd" "5" "" DIMNEW) <br>(setvar "cmdecho" CmdOld) <br>(princ)<br>)<br> <br>

 
 
编辑:
 
哎呀!对不起,我误解了帖子
[/code]
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:17:03 | 显示全部楼层
李-真的很想看看你能不能帮我解决这个问题,伙计
回复

使用道具 举报

35

主题

2471

帖子

2447

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
174
发表于 2022-7-6 07:24:36 | 显示全部楼层
像这样的?
  1. (defun RoundToNearestFive( theNumber / theDifference )
  2. (setq theDifference (rem theNumber 5.0))
  3. (if (< theDifference 2.5)
  4. (setq theNumber (- theNumber theDifference))
  5. (setq theNumber (+ theNumber (- 5 theDifference)))
  6. )
  7. theNumber
  8. )
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:31:19 | 显示全部楼层
伊涅斯。lspMSasu我应该在什么地方将其纳入所附代码?也许你可以帮我修改一下,然后重新加载??请
回复

使用道具 举报

11

主题

968

帖子

919

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
99
发表于 2022-7-6 07:32:50 | 显示全部楼层
在LSP文件的第651行,您需要更改以下内容:
看起来像这样
然后您还需要将MSasu的代码加载到图形中,以便RoundToNearestFive函数可用。最简单的方法是简单地将其复制到igneus中。lsp文件(就在第919行“默认设置”之前)。
回复

使用道具 举报

1

主题

6

帖子

5

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:38:30 | 显示全部楼层
米奇普迪姆。lsp Thakeyou这么多它的工作。。。。我已附上任何感兴趣的人。
 
我用它来模糊自动喷水灭火器的图纸
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-10 15:09 , Processed in 1.696811 second(s), 72 queries .

© 2020-2025 乐筑天下

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