乐筑天下

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

[编程交流] 使用Lisp插入块。。。帮助

[复制链接]

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:22:22 | 显示全部楼层 |阅读模式
你好
 
我已经离开cad生活一段时间了,我一直在用lisp。现在我甚至不能做一个常规动作。我有一个块(钢楼梯踏板和踢板),我想插入使用lisp。我正在尝试插入它,并根据用户输入,更改踢板高度,然后将其排列在选定的楼层高度之间。谁能或谁会花一点时间来帮忙?谢谢
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 10:26:47 | 显示全部楼层
有几个帖子处理积木
搜索这个网站,你会找到一些帮助你的
回复

使用道具 举报

4

主题

940

帖子

961

银币

初来乍到

Rank: 1

铜币
12
发表于 2022-7-6 10:31:24 | 显示全部楼层
查看下面的“相似线程”
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:33:22 | 显示全部楼层
仍然有困难,但我会坚持下去。
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:35:58 | 显示全部楼层
 
把你目前掌握的代码发出来,雪佛兰。
回复

使用道具 举报

1

主题

10

帖子

9

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 10:40:42 | 显示全部楼层
这是一个来自下面类似线程的拼凑代码,我还记得我想从块上的两个点(插入,复制到点)复制它,但我想帮助的最大的事情是设置用户输入以更改踢板高度(通过更改块引用,我猜),然后插入和复制。
 
  1. (defun c:str (/ bNme i ss ent)
  2. (command "divide" (entsel"\ Select slope=")(getint "\How many treads??="))
  3. (command "point" (getpoint "\ Pick starting point="))
  4. (setq bNme (getstring 1 "\nRiser _X" '((0 . "POINT"))))
  5.       (while (setq ent (ssname ss (setq i (1+ i))))
  6.         (entmake (list (cons 0 "INSERT")
  7.                       (cons 100 "AcDbEntity")
  8.                        (cons 100 "AcDbBlockReference")
  9.                        (cons 2 bNme)
  10.                      (assoc 10 (entget ent))))))
  11. (princ))
回复

使用道具 举报

44

主题

3166

帖子

2803

银币

中流砥柱

Rank: 25

铜币
557
发表于 2022-7-6 10:41:45 | 显示全部楼层
::我所了解的:
 
您希望在某个点插入一个块,并可能根据用户输入修改所述块。
 
然后,您需要一个动态块,因为修改非动态块引用会更改所述块的*所有*实例。除非“修改”是指更改属性值?
 
::我不明白的是:
 
使用entsel(可能是一条线)选择什么实体类型?
 
当您只创建了一个点时,(ssget“_x”'((0。“点”))选择*所有*点时,图形中有多少个点。
 
那么冒口高度是块的名称?
 
如果要(assoc 10(entget ent)),为什么要在(getpoint)处插入点实体?
是否保留在图形中创建的点?相反,为什么不简单地将点存储到变量(setq pt(getpoint))和(cons 10 pt)?
回复

使用道具 举报

54

主题

3755

帖子

3583

银币

后起之秀

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

铜币
438
发表于 2022-7-6 10:44:52 | 显示全部楼层
看起来您正试图沿着选定的线分割指定的块。Divide已经具有此功能。
如。
  1. Command: DIV
  2. DIVIDE
  3. Select object to divide:
  4. Enter the number of segments or [block]: B
  5. Enter name of block to insert: P6
  6. Align block with object? [Yes/No] <Y>:
  7. Enter the number of segments: 5
回复

使用道具 举报

4

主题

327

帖子

324

银币

初来乍到

Rank: 1

铜币
19
发表于 2022-7-6 10:47:59 | 显示全部楼层
只是好奇
你必须用积木吗?
你能让它只画出你需要的东西吗?看起来它更容易参数化
回复

使用道具 举报

32

主题

1166

帖子

1146

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
159
发表于 2022-7-6 10:51:40 | 显示全部楼层
 
我不确定这是否会有帮助,但丹·E·托马斯的这个节目很酷。
命令语法:楼梯
楼梯Lsp
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-6 21:10 , Processed in 0.335717 second(s), 72 queries .

© 2020-2025 乐筑天下

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