乐筑天下

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

[编程交流] 计算最大z值

[复制链接]

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 18:14:36 | 显示全部楼层 |阅读模式
我有一个问题是关于我正在尝试制作的分析工具。在对具有墙的场地进行放坡时,查找墙的最大高度非常有用。目前,这是非常困难的,涉及制作个人资料和许多其他事情。墙由两条要素线(或三维多段线)相互偏移0.1’制成,因此它们始终垂直。我知道如何通过这样的代码计算垂直距离:
  1. (setq P1 (getpoint "\nDistance From "))
  2.    (setvar "OSMODE" 128)
  3.    (setq DR (getdist P1 "\nPer to "))
  4.    (setq DS (rtos DR 2 6))
。我的问题是,如何扩展此代码,使其不只是做一个点,而是沿着要素线或三维多段线进行计算,以便计算墙的最大高程?我在想,我可以把它写下来,这样它就可以以较小的增量计算垂直z距离,然后打印出最大值,但我怎么能在不让用户选择点的情况下做到这一点呢?
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 18:21:07 | 显示全部楼层
我还应该提到,我已经研究了vlax curve getclosestpointto函数,但它似乎不起作用,因为它实际上没有找到垂直点,而只是找到最近的点。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:26:26 | 显示全部楼层
你能寄一个样品吗。三维多边形很容易处理,但它们确实不能垂直。它希望尝试偏移三维多边形-大卫
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:32:41 | 显示全部楼层
你能上传一张样图吗?
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 18:36:38 | 显示全部楼层
附件是一个具有2条要素线的超级简化示例。一个是墙的底部,一个是墙的顶部。墙的底部通常与墙的顶部偏移0.1’,以模拟垂直墙。我想通过从墙的底部高度减去墙的顶部高度来计算它的最大高度。这是一个超级简化的例子,但我在实际设计中,我有超过100英尺长的墙,有很多坡折,所以简化这个过程会让我的生活更容易。附件中有要素线,如果方便的话,我可以上传一个带有三维多段线的文件。
样品图纸
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 18:43:06 | 显示全部楼层
图形中的对象在Vanilla AutoCAD中显示为ACAD\u PROXY\u图元类型,因此很遗憾,我无法提供帮助,除非这些对象可以以某种方式转换为Vanilla对象类型。在这方面我没有建议,因为我没有垂直应用程序固有的对象的经验或知识。
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 18:52:00 | 显示全部楼层
看起来像ACAD Civil 3D中的代理实体。对不起,我什么都不知道。3DPOLY是另一种动物-David
回复

使用道具 举报

95

主题

477

帖子

383

银币

后起之秀

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

铜币
475
发表于 2022-7-5 18:54:15 | 显示全部楼层
李和大卫,非常感谢你们看这个。我上传了同一张带有三维多段线的图纸,我认为这在普通AutoCAD中是可行的。如果你看不到,不用担心。
样品图纸
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 18:58:51 | 显示全部楼层
我们有第三方附加组件的优势,对我们来说,显而易见的选择是绘制两个具有高度差的长截面,从而生成长截面图。您也可以在CIV3D中执行此操作
回复

使用道具 举报

5

主题

956

帖子

963

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 19:09:00 | 显示全部楼层
 
相关主题?
 
俯视图垂直但不是最近的
  1. ;point to line
  2. (defun hp:ptol (p 2p 3d / ad d pp) ; hanhphuc - 29.10.2015
  3.    (setq ad (mapcar '(lambda (f) (apply f (mapcar ''((x) (list (car x) (cadr x))) 2p)))
  4.              '(angle distance)
  5.              ) ;_ end of mapcar
  6.   d  (vxv (mapcar '- p (car 2p)) (mapcar ''((f) (f (car ad))) (list cos sin)))
  7.   pp (polar (car 2p) (car ad) d)
  8.   ) ;_ end of setq
  9.    (if        (<= 0. d (cadr ad))
  10.      (list (distance p pp)
  11.     (list (car pp)
  12.           (cadr pp)
  13.           (if 3d
  14.             (+ (* (/ (apply '- (mapcar 'last (reverse 2p))) (cadr ad)) d) (caddr (car 2p)))
  15.             (caddr p)
  16.             ) ;_ end of if
  17.           ) ;_ end of list
  18.     ) ;_ end of list
  19.      ) ;_ end of if
  20.    ) ;_ end of defun
  21. ;function call
  22. ;(hp:ptol pt lst 3d)
  23. ;pt= point
  24. ;lst= list of 2 end points
  25. ;example: (list p1 p2 )
  26. ;3d= t / nil
  27. ;Returns list
  28. ;( d ( x y z ))
  29. ;Where d=2d distance p to line from p1->p2
  30. ;(x y z) is coordinates apparently "perpendicular" from pt on line
  31. ;;;;example:
  32. ;;;(setq p1 (-131.868 17.4786 8.12106)
  33. ;;;      p2 (-142.847 5.87031 -2.51656)
  34. ;;;      p3 (-128.05 26.4743 2.99644)
  35. ;;;      ) ;_ end of setq
  36. ;(hp:ptol p1 (list p2 p3) t)
  37. ;return (2.14588 (-133.611 18.7304 0.9244))
  38. ;(hp:ptol p1 (list p2 p3) nil)
  39. ;returns (2.14588 (-133.611 18.7304 8.12106))
  40. ;; Vector Dot Product  -  Lee Mac
  41. ;; Args: u,v - vectors in R^n
  42. (defun vxv ( u v )
  43.    (apply '+ (mapcar '* u v))
  44. )

使用函数迭代三维多段线点集,然后关联最小距离坐标,完成
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 19:53 , Processed in 0.497317 second(s), 72 queries .

© 2020-2025 乐筑天下

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