乐筑天下

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

[编程交流] 沿多段线绘制点

[复制链接]

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 22:47:26 | 显示全部楼层
你在运行civil 3d吗?如果是,请阅读帮助或向您的经销商寻求建议。
 
2.大多数civil程序都内置了链测长度标签例程,作为标准,它们的能力水平各不相同(civil 3D在这方面不是最好的,即将加载2009年,也许更好),从等间距的ch加上Tp,到从绘图中随机选取点并添加或只是在表格中键入链测长度的能力,在不同的间距添加ch,我们使用ARD+civil 3D的很多东西。
 
第三,如果你没有civil 3d,有一些不错的civil附加组件,价格适中,可以制作曲面、长截面和横截面体积等。只需在网上搜索即可。
 
第四,写很多套路需要很长时间,而v的购买可能需要很长时间。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-5 22:51:05 | 显示全部楼层
 
如果测量了您的个人资料,这将起作用
线条如上图所示
轮廓必须仅为LWPOLYLINE,否则I
需要重写此lisp代码
文本文件将保存在您工作的同一文件夹中
或者在“文件”对话框中选择所需的其他文件夹
因此,要对块执行相同的操作,我必须
现在没有时间,也许以后
我可以写点什么来解决它
 
  1. ;;============================wl.lsp=============================;;
  2. ;; local defun
  3. (defun parse-dist (lst / ret)
  4. (setq ret (mapcar '- (cdr lst)
  5.                   (reverse (cdr (reverse lst)))))
  6. (if (zerop (car lst))
  7. (setq ret (append (list 0.0) ret))
  8. )
  9. ret
  10. )
  11. ;; main part
  12. (defun C:WL (/ axss dist_list dp fn fss obj p1 p2 pc ptlist
  13.        pts sep_list ss txt_file_name txt_list)
  14. (vl-load-com)
  15. (prompt "\n >> Select the profile >>")
  16. (if (setq ss (ssget "_+.:S:E" (list (cons 0 "LWPOLYLINE"))))
  17.    (progn
  18.      
  19. (setq obj (vlax-ename->vla-object (ssname ss 0)))
  20. (setq pts (vlax-get obj 'Coordinates))
  21. (while (cadr pts)
  22. (setq ptlist (cons (trans (list (car pts)(cadr pts)) 1 0) ptlist))
  23. (setq pts (cddr pts))
  24. )
  25. (setq fss (ssget "F" ptlist (list (cons 0 "LINE"))))
  26. (setq axss (vla-get-activeselectionset
  27.      (vla-get-activedocument
  28.        (vlax-get-acad-object))))
  29. (vlax-for a axss
  30.    (setq p1 (vlax-curve-getstartpoint a)
  31.   p2 (vlax-curve-getendpoint a)
  32.   pc (mapcar (function(lambda(a b)(* (+ a b) 0.5))) p1 p2);mid point of line
  33.   dp (vlax-curve-getclosestpointto obj pc)
  34.   dist_list (cons (vlax-curve-getdistatpoint obj dp) dist_list)
  35.   )
  36.    )
  37. (setq sep_list (parse-dist dist_list))
  38. (setq txt_list (mapcar 'vl-princ-to-string sep_list))
  39. (setq txt_file_name (getfiled "Enter file name without extension" (getvar "dwgprefix") "txt" 1))  
  40. (setq fn (open txt_file_name "w"))
  41. (setq cnt 1)
  42. (mapcar (function (lambda (x)
  43.               (write-line (strcat (itoa cnt) "," x) fn)
  44.               (setq cnt (1+ cnt)))
  45.             )
  46.   txt_list)
  47. (close fn)
  48. )
  49.    )
  50. (princ)
  51. )
  52. ;;============================wl.lsp=============================;;
回复

使用道具 举报

6

主题

26

帖子

22

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 22:56:13 | 显示全部楼层
我知道你在说什么。我的工作场所有Civil 3D,我对它很熟悉。
 
然而,这是一个伟大的无私的人谁想要学习新的东西或教其他人编程的好地方。我对Lisp,Visual Lisp,VBA很感兴趣。。。
 
 
 
回复

使用道具 举报

6

主题

26

帖子

22

银币

初来乍到

Rank: 1

铜币
40
发表于 2022-7-5 22:59:12 | 显示全部楼层
这就是我想要的。真的很好。
谢谢你,胖子。
 
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-5 23:01:05 | 显示全部楼层
如果这是你想要的,我很高兴
快乐计算
 
~'J'~
回复

使用道具 举报

2

主题

5

帖子

3

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 23:06:15 | 显示全部楼层
你好,请回答一个简单的问题。
 
我和贝恩有同样的问题。
一条大的多段线(轴)和轮廓。
如果我想得到轴在
轮廓,然后我必须把轮廓线
在轴上(轮廓线的中点处),
计算起点/起点和终点的中点/
并使用vlax curve getdistatpoint。
 
有什么简单的方法可以做到这一点吗
(所以我不必把所有的个人资料
在他们的中点)?
 
谢谢你和问候!
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-5 23:09:10 | 显示全部楼层
乔治,这还不够清楚
请附上样品图纸或截图
你想要什么
 
~'J'~
回复

使用道具 举报

14

主题

29

帖子

15

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-5 23:12:20 | 显示全部楼层
你好
 
有没有一种使用VBA的方法??
 
当做
普里扬卡
回复

使用道具 举报

0

主题

1

帖子

1

银币

初来乍到

Rank: 1

铜币
0
发表于 2022-7-5 23:14:45 | 显示全部楼层
 
你好
 
有没有一种方法可以让这个例程在3D多边形中工作?我需要一条与地形匹配的多段线。
 
非常感谢。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 06:37 , Processed in 0.548336 second(s), 79 queries .

© 2020-2025 乐筑天下

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