乐筑天下

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

[编程交流] 修改绘图的cPoly-lisp

[复制链接]

7

主题

15

帖子

8

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 20:17:07 | 显示全部楼层 |阅读模式
我发现这个例程(附在下面)对于绘制宽度随长度变化的道路中心线非常有用。
 
然而,如果我想更改代码,使其沿着多段线的长度在更多或更少的点上采样宽度,我该怎么做?
 
绘制中心线。lsp
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 20:51:51 | 显示全部楼层
我将你的帖子转移到AutoLISP、Visual LISP和DCL论坛。
回复

使用道具 举报

6

主题

31

帖子

25

银币

初来乍到

Rank: 1

铜币
30
发表于 2022-7-5 21:12:52 | 显示全部楼层
你好
 
我在打电话,没有AutoCAD在我面前测试,但我会试试的。如果我的建议不起作用,不要大喊大叫:-)
 
尝试在lisp例程中更改这段代码:
 
  1. (setq i -1 len (/ (vla-get-Length
  2. (vlax-ename->vla-object ent1)) 100.) grlin '( ))

 
我可能错了,但看起来它需要您选择的第一条多段线的总长度,然后将其分为100个点。然后为第一条多段线上的每个点计算到另一条多段线的最近点。然后在两条多段线上的每个“配对”点之间绘制一条中心线。因此,如果您想要两倍的点数,请尝试使用200而不是100的值。如果你想要更少的分数,那么使用更小的数字等。
 
或者,无论第一条多段线有多长,如果您想要一个特定的距离,则将整个位更改为一个特定的距离:
 
  1. (/ (vla-get-Length
  2. (vlax-ename->vla-object ent1)) 100.)

 
例如:
 
  1. (setq i -1 len 5.0 grlin '( ))

 
将沿选定的第一条多段线每隔5米(或使用的任何单位)计算点。这将有望创建一条中心线,大约每5米有一个点。如果它位于曲线上,则它的大小取决于您选择的第一条多段线的哪一侧。
回复

使用道具 举报

7

主题

15

帖子

8

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-5 21:23:29 | 显示全部楼层
谢谢大家。
 
贾姆卡,我去看看。
 
编辑:是的,解决了,谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-11 08:59 , Processed in 0.450558 second(s), 60 queries .

© 2020-2025 乐筑天下

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