乐筑天下

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

[编程交流] 线条宽度的Lisp

[复制链接]

14

主题

40

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 17:09:52 | 显示全部楼层 |阅读模式
嗨,李先生,
 
我需要一个lisp文件来测量两条多段线之间的垂直宽度。原则多段线必须从10个单位的增量测量宽度(很高兴将其作为输入)。
 
测量宽度的输出最好发送到ascii文件,否则文本屏幕很酷。
 
如果主多段线可以选择左侧或右侧或两者来确定其他多段线之间的空间宽度,则为Neat。可能是用于测量垂直宽度的多段线的选择选项。
 
这将节省大量时间。
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 17:15:26 | 显示全部楼层
您需要一个lisp例程来执行此操作,因为。。。。?我不确定你想要完成什么。你能详细说明一下吗?非常感谢。
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 17:17:50 | 显示全部楼层
真的不确定你在追求什么,可能是这个?
 
两条多段线之间的距离?
180952ggvg85xzqxurzzs8.jpg
回复

使用道具 举报

14

主题

40

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 17:21:07 | 显示全部楼层
嗨,李,
 
是的,没错,
 
我有大量的迭代,这被证明是耗时的。正如你所指出的,我正在用手工方法测量,但这需要改进。
 
需要lisp文件来测量两条多段线之间的垂直距离。
 
这两条多段线的方向不同,因此垂直测量在其中一条主线段上。
 
原理线标为10个单位,比如说,并进行另一次距离测量,以此类推。。。。
 
理想情况下,可以选择单位间距和ascii文件输出。
 
希望这能澄清问题所在。
 
bsimpson公司
回复

使用道具 举报

14

主题

40

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 17:28:37 | 显示全部楼层
您好,备注,
 
我正在使用一个名为Civildesigner的独立设计程序来设计道路。我们的主要设计工作是对十字路口进行升级,拓宽道路边缘。
 
这意味着,每次我沿道路协调中心线时,我必须使用输入Civildesigner的宽度标注拾取道路边缘,以生成道路加宽的相关数量和表示。
 
我希望我能够得到这个lisp文件,因为这将节省我无数次测量道路边缘。我需要缩短设计时间。
 
当做
bsimpson公司
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 17:31:43 | 显示全部楼层
您好,bsimpson,
 
我很快键入了这个LISP,但我不确定它是否完全适合你的需要,但还是试一试。
 
它将根据第一条线的选择来标注一组线的尺寸,并且始终将这些线标注到一侧。
 
如果有任何帮助,请告诉我。
 
  1. (defun c:ldist (/ l1 l2 pt1s pt1e pt1 pt2s pt2e pt2)
  2.    (setvar "cmdecho" 0)
  3.    (if
  4.        (setq l1 (car (entsel "\nSelect First Line: ")))
  5.        (progn
  6.            (while
  7.                (setq l2 (car (entsel "\nSelect Second Line: ")))
  8.                (setq pt1s (cdr (assoc 10 (entget l1))))
  9.                (setq pt1e (cdr (assoc 11 (entget l1))))
  10.                (if
  11.                    (> (car pt1s)(car pt1e))
  12.                    (setq pt1 (cdr (assoc 10 (entget l1))))
  13.                    (setq pt1 (cdr (assoc 11 (entget l1))))
  14.                ) ; end if        
  15.                (setq pt2s
  16.                    (cdr (assoc 10 (entget l2)))
  17.                ) ; end setq
  18.                (setq pt2e
  19.                    (cdr (assoc 11 (entget l2)))
  20.                ) ; end setq
  21.                (if
  22.                    (> (car pt2s)(car pt2e))
  23.                    (setq pt2 (cdr (assoc 10 (entget l2))))
  24.                    (setq pt2 (cdr (assoc 11 (entget l2))))
  25.                ) ; end if
  26.                (command "_dimlinear"
  27.                    pt1
  28.                    pt2
  29.                    pause
  30.                ) ; end dim
  31.            ) ; end while
  32.        ) ; end progn
  33.        (alert "No Line Selected")
  34.    ) ; end if
  35.    (setvar "cmdecho" 1)
  36.    (princ "\nFunction Complete.")
  37.    (princ)
  38. ) ; end function
回复

使用道具 举报

14

主题

40

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 17:35:21 | 显示全部楼层
嗨,李,
 
我看了一下lisp例程,发现它在正确的轨道上,但我需要更多的东西。
 
该例程允许选择正确的第一行和第二行,但输出不正确。
 
该例程需要在例如10个单位的垂直距离上进行垂直距离测量,最好输入“沿第一条线的间距是多少”到第二条线。
 
结果不需要绘制尺寸线,而是在文本屏幕或ascii文件中进行最佳输出。通常有两列,如下所示;
 
SV距离
0 12.5
10 12.25
20  12.8
30  12.05
30.125  12.00
 
SV=桩值(沿第一条线的间距)
dist=从第一条线到第二条线的垂直距离
 
从第一条线到第二条线的距离在垂直于第一条线的位置测量,然后在第二条线的交点处测量。
 
我预计这一常规可以改进。
 
bsimpson公司
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 17:37:38 | 显示全部楼层
啊。。。。我现在明白了,谢谢。
 
我看看我能做什么
180953rubb4bbsb6gq2i1o.jpg
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-6 17:41:08 | 显示全部楼层
“我预计这一常规可以改进。”
 
的确你真体贴。
回复

使用道具 举报

14

主题

40

帖子

26

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
70
发表于 2022-7-6 17:44:07 | 显示全部楼层
没错,你已经理解了这个问题。我期待着你能做什么。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-4 16:53 , Processed in 0.470382 second(s), 74 queries .

© 2020-2025 乐筑天下

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