乐筑天下

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

[编程交流] 将一系列行转换为

[复制链接]

53

主题

302

帖子

249

银币

后起之秀

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

铜币
265
发表于 2022-7-6 07:42:28 | 显示全部楼层 |阅读模式
如何将一系列线段转换为多段线,或通过修改以下代码将其绘制为pline:
  1. (setq p1(cadr (car l)))
  2. (while (/= l nil)
  3. (setq l(cdr l))
  4. (setq p2(cadr (car l)))
  5. (command "line"  "_NON" p1 "_NON" p2 "")
  6. (setq p1 p2)
  7. )

提前感谢,
芦荟
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 07:48:52 | 显示全部楼层
如果需要使pline闭合,请尝试此代码,并在末尾点击“CL”
  1. (defun C:demo()
  2. (setq osm (getvar "osmode"))
  3. (setvar "osmode" 0)
  4. (command "._pline")
  5. (while (= 1 (logand 1 (getvar "cmdactive")))
  6. (command pause))
  7. (setvar "osmode" osm)
  8. (princ)
  9. )

 
~'J'~
回复

使用道具 举报

53

主题

302

帖子

249

银币

后起之秀

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

铜币
265
发表于 2022-7-6 07:52:15 | 显示全部楼层
嗨,菲索,
您提供的代码本身运行良好,就像autoCad中的pline一样。我需要的是,当提示给出点时,从列表l中提取点。
当做
芦荟
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-6 07:55:53 | 显示全部楼层
查询结果多段线的DXF数据。
回复

使用道具 举报

1

主题

1069

帖子

1050

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
69
发表于 2022-7-6 08:00:04 | 显示全部楼层
试试吧
  1. (defun C:demo(/ closed osm ptlist)
  2. (setq osm (getvar "osmode"))
  3. (setvar "osmode" 0)
  4. (setq ptlist [ your points ])
  5. (setq closed T ;|or nil if open|
  6. (command "._pline")
  7. (mapcar 'command ptlist)
  8. (if closed
  9. (command "CL")
  10. (command "")
  11. (setvar "osmode" osm)
  12. (princ)
  13. )
回复

使用道具 举报

0

主题

375

帖子

385

银币

限制会员

铜币
-7
发表于 2022-7-6 08:03:31 | 显示全部楼层
芦荟,
从代码中,列表必须类似于((a(x y z))(b(u v w))。。。
在这种情况下,此代码将绘制多段线而不是直线。
  1. (command "PLINE")
  2. (foreach x l
  3. (command "_non" (cadr x))
  4. )
  5. (command "")
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 08:08:28 | 显示全部楼层
 
有一件事尚未提及,即在选择集上使用PEDIT命令,例如:
 
  1. (defun c:FOO (/ ss)
  2. (if (setq ss (ssget "_:L" '((0 . "LINE"))))
  3.    (command "._pedit" "multiple" ss "" "y" "")
  4.    (prompt "\n** Nothing selected ** ")
  5.    )
  6. (princ)
  7. )
。。。如果你想加入队伍,你可以根据自己的喜好进行裁剪。。
 
HTH公司
回复

使用道具 举报

53

主题

302

帖子

249

银币

后起之秀

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

铜币
265
发表于 2022-7-6 08:09:15 | 显示全部楼层
斯特凡,
谢谢。好极了
当做
芦荟
回复

使用道具 举报

53

主题

302

帖子

249

银币

后起之秀

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

铜币
265
发表于 2022-7-6 08:14:01 | 显示全部楼层
你好,RenderMan,
它不起作用。它要求选择,最后不转换。如果你喜欢的话,我可以把列表贴出来,你可以试试。
当做
芦荟
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 08:18:03 | 显示全部楼层
[缩进][缩进]
有一件事尚未提及,那就是在选择集上使用PEDIT命令
[/缩进]
你好,RenderMan,
它不起作用。它要求选择,最后不转换。如果你喜欢的话,我可以把列表贴出来,你可以试试。
[/缩进]
重申。。。该函数提示用户输入图形中已存在的线的选择集(而不是点列表),然后将有效的选择集转换为多段线。此函数不接受任何参数(即点列表)。
 
你在这个帖子中提到了不同的任务;这一提议决不是对他们每个人的答案。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-9 22:13 , Processed in 0.509118 second(s), 72 queries .

© 2020-2025 乐筑天下

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