乐筑天下

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

[综合讨论] DIMARC连续

[复制链接]

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-8 11:34:33 | 显示全部楼层 |阅读模式
大家好,
 
我是第一次来这里,我希望你能帮我解决我的问题。
 
我需要一种方法来标注圆弧的尺寸,但在更多点上,例如曲线墙与其他物体相交,等等。
 
标准dimarc只提供一段弧的长度,但我有完整的墙。
 
基本上,它应该像dimcontinuous命令一样工作,但在圆弧上。
 
Revit和Archicad都有这样的可能性。
 
有没有在autocad中执行此操作的方法?
 
提前谢谢,我真的很感谢大家的帮助,因为我有一个项目要完成,我不知道怎么做。
 
再见
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-8 11:46:27 | 显示全部楼层
我找到的唯一方法是使用BreakAll lisp,在与墙相交的线上切割圆弧,然后用DIMARC逐个标注尺寸。但它持续的时间太长了。
 
所以,我需要一些lisp来标注整个弧的尺寸,以获得我选择的不同点之间的弧长度-就像DIMCONTINUAL一样。
 
或者,可以自动测量多个弧段的弧长-类似于Aleksandr Smirnov的PDIM。
 
非常感谢你。
回复

使用道具 举报

10

主题

109

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-8 11:56:43 | 显示全部楼层
gashaglava,
 
不确定这是你需要的,但你可以试试这个lisp。
希望这有帮助。
 
  1. ; DLA.LSP - dimension length of arc
  2. ; modified version of DIMARC from (^v^) XANADU, http://www.xanadu.cz
  3. ; runs continuously - <Esc> to exit
  4. (defun C:DLA ( / *ERROR* pt1 pt2 cen a1 a2 ad D1 D2 D i r oldOs oldCmde)
  5. (defun *ERROR* (msg)
  6.   (princ " function")
  7.   (setvar "OSMODE" oldOs)
  8.   (setvar "CMDECHO" oldCmde)
  9.   (princ)
  10. )
  11. (setq oldCmde (getvar "CMDECHO"))
  12. (setq oldOs (getvar "OSMODE"))
  13. (setvar "CMDECHO" 0)
  14. (while T
  15. (princ "\n Pick 2 points on an arc - ")
  16. (setvar "OSMODE" 33)
  17.    (while (not cen)
  18.       (setq pt1 (getpoint "\n 1st pt: ")
  19.         cen (osnap pt1 "_CEN")
  20.       )
  21.       (if (not cen) (alert "Doesn't lay on an arc, retry")
  22.     (setq pt2 (getpoint pt1 "\n 2nd pt: "))
  23.       )
  24.    ) ; while
  25. (setvar "OSMODE" 0)
  26. (setq a1 (angle cen pt1)
  27.        a2 (angle cen pt2)
  28.        ad (abs (- a2 a1))
  29.    r (distance pt1 cen)
  30.    D1 (* r ad)
  31.        D2 (* r (- (* 2 pi) ad))
  32. )
  33. (princ (strcat "\n Arc length (1) = " (rtos D1) ", Complement (2) = " (rtos D2)))
  34. (setq D D1)
  35. (initget "1 2")
  36. (setq i (getkword "\n Dim which? [1 2] : "))
  37. (princ "\n Place dimension : ")
  38. (if (= i "2") (setq D D2))
  39. (command "_DIMANGULAR" "" cen pt1 pt2 "_T" (rtos D) pause "")
  40. (setq cen nil)
  41. ) ; while
  42. (setvar "OSMODE" oldOs)
  43. (setvar "CMDECHO" oldCmde)
  44. (princ)
  45. )
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-8 12:10:43 | 显示全部楼层
这正是我所需要的!
 
谢谢你1000次!
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-8 12:24:19 | 显示全部楼层
如果要改进此脚本,可以在圆弧上提供更多点供选择,然后在单个尺寸线上标注线段的弧长。
它还会删除最近的点捕捉,因此无法将标注文字精确放置在所需的尺寸线上。
 
但这对我来说很好。
 
再次感谢,你救了我的命!
回复

使用道具 举报

10

主题

109

帖子

99

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
50
发表于 2022-7-8 12:28:45 | 显示全部楼层
很高兴口齿不清有用。如果你在lisp中有其他想要的功能,也许你可以发布一张图片,详细说明你想要什么。我不能保证快速回复,但我最终会努力的。
回复

使用道具 举报

4

主题

14

帖子

10

银币

初来乍到

Rank: 1

铜币
20
发表于 2022-7-8 12:36:37 | 显示全部楼层
你好
 
这是我认为最理想的做法——例如,在Archicad或Revit中可以轻松完成同样的事情——但请您,只要您感兴趣并且有时间。你做的lisp DLA很棒。
 
图1:结构网格布局
图2:选择一个弧。
图3:选择弧上需要获得弧长的所有点
图4:尺寸线
图5:将弧长放置在尺寸线上(或指定偏移尺寸线)。
 
 
非常感谢。
123434fwpwc5p4etwmf4z7.jpg
123436euxnu49mxxsk2vnb.jpg
123439yb1rhbqcrnyg21ce.jpg
123441vtb92jix9w9jjxbw.jpg
123442k1n3ijwhznjwggbw.jpg
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 09:03 , Processed in 0.731451 second(s), 68 queries .

© 2020-2025 乐筑天下

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