乐筑天下

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

[编程交流] 使用Divide com的点

[复制链接]

2

主题

10

帖子

8

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 18:51:20 | 显示全部楼层 |阅读模式
如何将通过DIVIDE命令获得的实体的第一个、最后一个和所有其他点放入列表中?
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 18:57:40 | 显示全部楼层
AutoCAD 2000之前的版本?我们谈得怎么样?
 
第一个猜测。。。。。数据提取命令。许多选项可用。可以输出为两种或更多文件格式,具体取决于所使用的AutoCAD版本。
 
第二猜测。。。。。LIST命令。使用此选项将为您提供每个点的X、Y和Z坐标。复制/粘贴文本窗口(F2)中显示的信息。
回复

使用道具 举报

2

主题

10

帖子

8

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-5 19:00:24 | 显示全部楼层
 
>>>>>>>>>>>>>>>      
第一个答案:我不知道如何更好地解释它,我问如何形成一个包含点列表的变量。
第二个答案:没有办法使用复制/粘贴到数百个点。
额外的回答:AutoCad是R14,但我认为它对AutoLisp没有任何影响(在这种特定情况下)。谢谢你的帮助。
>>>>>>>>>>>>>>>
回复

使用道具 举报

10

主题

8258

帖子

8335

银币

初来乍到

Rank: 1

铜币
31
发表于 2022-7-5 19:04:22 | 显示全部楼层
我想我错过了你问“如何形成变量”的部分。也许你应该先在AutoLISP论坛上发布。这是学生问题论坛(帮助完成家庭作业和作业)。
 
现在,您需要一个lisp例程来提取点信息。是这样吗?你在寻找什么确切的信息?
 
在这里可以找到一个可能的解决方案。。。http://forums.autodesk.com/t5/visual-lisp-autolisp-and-general/extract-point-data-calling-all-lisp-gurus/td-p/885377
 
另一个可能的解决方案可以在这里找到。。。http://www.cadtutor.net/forum/showthread.php?9628-导出点
 
我相信,如果您尝试的话,您可以找到其他自定义lisp例程来完成相同的任务。
回复

使用道具 举报

49

主题

1246

帖子

1210

银币

后起之秀

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

铜币
254
发表于 2022-7-5 19:07:35 | 显示全部楼层
听起来这是一个Lisp程序的问题。我相信Cunha希望使用AutoLISP从使用Divide的点创建一个列表。此线程可能需要移动到适当的论坛。我会标记它,这样海报可以得到帮助。
回复

使用道具 举报

8

主题

1647

帖子

1647

银币

初来乍到

Rank: 1

铜币
36
发表于 2022-7-5 19:09:32 | 显示全部楼层
我认为ReMark的链接应该会有所帮助,但如果需要进一步的帮助,我已经将这个问题转移到AutoLisp部分:http://www.cadtutor.net/forum/forumdisplay.php?21-AutoLISP Visual LISP amp DCL
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 19:14:16 | 显示全部楼层
在调用DIVIDE之前,首先记录最后一个实体(包括顺序):
 
  1. [b][color=BLACK]([/color][/b]defun c:div [b][color=FUCHSIA]([/color][/b]/ le ss pl[b][color=FUCHSIA])[/color][/b]
  2. [color=#8b4513];;;RECORD THE LAST ENTITY[/color]
  3. [b][color=FUCHSIA]([/color][/b]setq le [b][color=NAVY]([/color][/b]entlast[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  4. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]entnext le[b][color=NAVY])[/color][/b]
  5.         [b][color=NAVY]([/color][/b]setq le [b][color=MAROON]([/color][/b]entnext le[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  6. [color=#8b4513];Then DIVIDE[/color]
  7. [b][color=FUCHSIA]([/color][/b]setvar [color=#2f4f4f]"CMDECHO"[/color] 1[b][color=FUCHSIA])[/color][/b]
  8. [b][color=FUCHSIA]([/color][/b]command [color=#2f4f4f]"_.DIVIDE"[/color][b][color=FUCHSIA])[/color][/b]
  9. [b][color=FUCHSIA]([/color][/b]while [b][color=NAVY]([/color][/b]> [b][color=MAROON]([/color][/b]getvar [color=#2f4f4f]"CMDACTIVE"[/color][b][color=MAROON])[/color][/b] 0[b][color=NAVY])[/color][/b]
  10.         [b][color=NAVY]([/color][/b]command pause[b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  11. [color=#8b4513];;;Gather the POINT or INSERT Entities created by DIVIDE[/color]
  12. [b][color=FUCHSIA]([/color][/b]if [b][color=NAVY]([/color][/b]setq le [b][color=MAROON]([/color][/b]entnext le[b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b]
  13.      [b][color=NAVY]([/color][/b]progn
  14.        [b][color=MAROON]([/color][/b]setq pl nil
  15.              ss [b][color=GREEN]([/color][/b]ssadd[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  16.        [b][color=MAROON]([/color][/b]while le
  17.               [b][color=GREEN]([/color][/b]setq pl [b][color=BLUE]([/color][/b]cons [b][color=RED]([/color][/b]cdr [b][color=PURPLE]([/color][/b]assoc 10 [b][color=TEAL]([/color][/b]entget le[b][color=TEAL])[/color][/b][b][color=PURPLE])[/color][/b][b][color=RED])[/color][/b] pl[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b]
  18.               [b][color=GREEN]([/color][/b]ssadd le ss[b][color=GREEN])[/color][/b]
  19.               [b][color=GREEN]([/color][/b]setq le [b][color=BLUE]([/color][/b]entnext le[b][color=BLUE])[/color][/b][b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b]
  20.        [b][color=MAROON]([/color][/b]setq pl [b][color=GREEN]([/color][/b]reverse pl[b][color=GREEN])[/color][/b][b][color=MAROON])[/color][/b][b][color=NAVY])[/color][/b][b][color=FUCHSIA])[/color][/b]
  21. [color=#8b4513];;;PICKSET ss [b][color=FUCHSIA]([/color][/b] to ERASE or whatever [b][color=FUCHSIA])[/color][/b][/color]
  22. [color=#8b4513];;;POINT LIST pl[/color]
  23. [b][color=FUCHSIA]([/color][/b]prin1 pl[b][color=FUCHSIA])[/color][/b][b][color=BLACK])[/color][/b]

 
因为DIVIDE创建点实体,pl中的所有列表都是WCS。不包括错误陷阱-大卫
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:16:08 | 显示全部楼层
另一种方法是使用lisp创建点,而不是以这种方式分割。您可以一次创建一个对象,包括一条线。比较接近的代码是“沿pline的链测长度”,您必须修改它以创建点或只是制作点列表。在此处搜索。
 
大卫;错误:错误的参数类型:lentyp nil?
回复

使用道具 举报

26

主题

1495

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
118
发表于 2022-7-5 19:20:18 | 显示全部楼层
谢谢BigAl,修复!
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-5 19:23:58 | 显示全部楼层
Nice david可以使用它制作一个对象列表,比如在多次偏移期间。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-12 13:27 , Processed in 0.622899 second(s), 72 queries .

© 2020-2025 乐筑天下

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