乐筑天下

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

[编程交流] 在中使用Arraypath需要帮助

[复制链接]

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 16:51:04 | 显示全部楼层 |阅读模式
试着用lisp语言完成一个简单的任务:
 
 
1、从a到B划一条线
2、在a处画一个小圆圈
3、使用命令Arraypath
4、选择圆
5、选择直线作为曲线
6、方法->分割
7、项目->5(可以是任何数字)
 
 
我在autocad中这样做,无论如何绘制直线,无论圆是放置在A还是B,它都会一直工作
 
 
当我使用以下lisp时,它只起作用。从左到右或从上到下绘制直线,并将圆放置在:
 
 
(定义C:InsDistributedBar()
(命令“.LINE”pause pause“”)
(setq lastline(entlast))
(命令“.circle”pause pause“”)
(setq lastbar(entlast))
(命令.arraypath“lastbar”“lastline 5”D“”)
)
 
 
当我用以下行替换arraypath以模拟命令arraypath的直接输入时:
(命令“.arraypath”lastbar“”lastline“M”“D”“I”5”)
 
 
代码根本不起作用。执行回音为:
 
 
命令:。阵列路径
选择对象:找到1个
 
选择对象:
类型=路径关联=是
 
选择路径曲线:
输入沿路径的项数或[方向/表达式]:M需要1到32767之间的整数,或option关键字。
输入沿路径的项数或[方向/表达式]:D需要1到32767之间的整数,或option关键字。
输入沿路径的项数或[方向/表达式]:我需要一个介于1和32767之间的整数,或option关键字。
输入沿路径的项数或[方向/表达式]:5
指定沿路径或[Divide/Total/Expression]的项目之间的距离:
选择夹点以编辑阵列或[关联/方法/基点/切线方向/项目/行/级别/对齐项目/Z方向/退出]:nil
 
 
我对lisp不太了解。我不知道怎么了。
 
 
请帮忙。
 
 
谢谢
 
 
小平
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 16:58:22 | 显示全部楼层
试试这个
 
  1. (DEFUN C:InsDistributedBar ()
  2. (command ".LINE" pause pause "")
  3. (setq lastline (entlast))
  4. (command ".circle" pause pause)
  5. (setq lastbar (entlast))
  6. (command "arraypath" lastbar "" lastline 5 "D" "M" "D" "")
  7. (princ)
  8. )

 
 
  1. (command "arraypath" lastbar "" lastline [b][color="red"]5 "D" "M" "D" ""[/color][/b])

做与您尝试的相同的事情,但变化不大。。。
 
如果您可以在代码本身中提供Divide选项,那么为什么要尝试方法->Divide
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:03:36 | 显示全部楼层
我尝试的原因
 
 
(命令“.arraypath”lastbar“”lastline“M”“D”“I”5”)
 
 
是模仿在autocad中直接使用Arraypath的方式。
 
 
我试过你的密码
 
 
(命令“arraypath”lastbar“lastline 5”D“M”D“”)
 
 
它仍然不起作用。试着用不同的方式画这条线,有时这5个圆可以放在相反的方向上。
 
 
谢谢
 
 
小平
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 17:12:12 | 显示全部楼层
哦,对不起,没有检查
 
现在试试这个:
  1. (defun c:test (/ a b l c)
  2. (if
  3.    (setq a (getpoint "\nSpecify start point : ")
  4.   b (getpoint a "\nSpecify end point : ")
  5.    )
  6.     (progn
  7.       (command ".line" a b "")
  8.       (setq l (entlast))
  9.       (command ".circle" a pause)
  10.       (setq c (entlast))
  11.       (command ".arraypath" c "" l "O" a b "E" 5 "D" "X")
  12.     )
  13. )
  14. (princ)
  15. )
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:15:24 | 显示全部楼层
Trie你的代码,工作完美!
 
 
谢谢!
 
 
虽然我不明白“O”选项来自哪里。如何在lisp中使用命令,从哪里可以获取文档?(语法、参数……)。
 
 
小平
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 17:23:53 | 显示全部楼层
 
很高兴来到这里
 
 
“O”代表方向。。。。你可以在命令行中看到这一点
 
 
有一些网站可以让你学习lisp。。。
例如
http://www.afralisp.net/index.php
http://lee-mac.com/index.html
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:26:50 | 显示全部楼层
我检查了autocad 2015命令行,没有看到方向选项。我还检查了arraypath文档,也没有看到这个选项。
 
 
http://knowledge.autodesk.com/support/autocad/learn-explore/caas/CloudHelp/cloudhelp/2015/ENU/AutoCAD-Core/files/GUID-D36C46CD-4E17-4A16-A387-C0B158EA5A9E-htm.html
 
 
你能告诉我你从哪里得到这个选项吗?
 
 
谢谢
 
 
小平
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 17:31:51 | 显示全部楼层
这个例子摘自你的第一篇文章。。。查看红色突出显示
  1. Command: .arraypath
  2. Select objects: 1 found
  3. Select objects:
  4. Type = Path Associative = Yes
  5. Select path curve:
  6. Enter number of items along path or [[color="red"]Orientation[/color]/Expression] <[color="red"]Orientation[/color]>: M Requires an integer between 1 an 32767, or option keyword.
回复

使用道具 举报

1

主题

5

帖子

4

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-5 17:35:14 | 显示全部楼层
这是代码中执行的arraypath的回声。如果直接在autocad命令行中使用arraypath命令,则不会获得该方向选项。
 
 
当您直接使用该命令时,提供/需要的选项和参数似乎不同于在lisp中执行的选项和参数(命令“.”…)。这没有道理。这些记录在哪里?
回复

使用道具 举报

55

主题

402

帖子

357

银币

后起之秀

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

铜币
274
发表于 2022-7-5 17:41:26 | 显示全部楼层
你完全正确。我注意到了。我也是第一次遇到这样的事情。通常,命令以与autocad中的手动和自动操作相同的方式执行。我认为不会有任何关于这个的纪录片。如果可以的话,我很感兴趣。在这种情况下,经验n实践就出现了。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-8-24 15:26 , Processed in 1.490610 second(s), 72 queries .

© 2020-2025 乐筑天下

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