乐筑天下

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

[编程交流] 阵列和三维旋转

[复制链接]

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 11:43:18 | 显示全部楼层 |阅读模式
大家好,
 
我需要制作一个扭曲的链,并始终使用两个命令。
 
首先我排列物体,然后手动逐个旋转,但需要很多时间和患者才能获得扭曲结果。
 
我在普通论坛上发布了这条帖子,巴勃罗·费拉尔向我建议:
“你能使用脚本或lisp例程吗?你试过在定制论坛上发布吗?”。
 
我知道如何使用lisp例程,但我不知道如何制作lisp例程。
 
是否有一个lisp例程,用于将一个对象排列成一行并同时旋转它?
 
是否有Autolisp教程需要学习,因为我需要将此形状做成几种尺寸?
 
谢谢你的帮助。
124320z0kfxi6b6hf6s0xi.jpg
回复

使用道具 举报

4

主题

24

帖子

16

银币

初来乍到

Rank: 1

铜币
27
发表于 2022-7-6 11:56:14 | 显示全部楼层
我想你可能想要这样
 
  1. (setq ss (ssget "x" '((0 . "TEXT"))))
  2. (if
  3. (not (member "geom3d.arx" (arx)))
  4. (arxload "geom3d")
  5. ) ; if
  6. (rotate3d ss dir sp "r" 0 ang "")

 
 
回复

使用道具 举报

2

主题

74

帖子

72

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 12:04:03 | 显示全部楼层
在这里简单地说:
  1. (defun c:test (/ ptim t1 t2 kol ugol)
  2. (setq        ptim (car (entsel))
  3. t1   (getpoint "\nInitial a direction point: ")
  4. t2   (getpoint t1 "\nFinal point of a direction: ")
  5. kol  (1- (getint "\nCopying number: "))
  6. ugol (getreal "\nAngle of rotation: ")
  7. )
  8. (vl-cmdf "_copy" ptim "" "_non" t1 "_non" t2)
  9. (vl-cmdf "_rotate3d" "_last" "" "_2" "_non" t1 "_non"        t2 ugol)
  10. (repeat kol
  11.    (vl-cmdf "_copy" "_last" "" "_non" t1 "_non" t2)
  12.    (vl-cmdf "_rotate3d" "_last" "" "_non" t1 "_non" t2 ugol)
  13. )
  14. )

如果一切正常,那么可以添加错误的输出代理,默认情况下输入。。。
回复

使用道具 举报

0

主题

148

帖子

151

银币

限制会员

铜币
-1
发表于 2022-7-6 12:13:05 | 显示全部楼层
看见有一些非常聪明的人在这些论坛上闲逛!
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:21:50 | 显示全部楼层
对于Geobuilder
 
我已经试过了。lsp和它的工作,但最后复制对象似乎在一个轴旋转3D。它应该像以前的副本一样排列。每个连杆的距离为1.03 mm。我输入错号码了吗?
 
命令:测试
选择对象:
初始a方向点:0,0,0
方向的终点:1.03,0,0
复印编号:15
旋转角度:12
 
kol是指列吗?
 
谢谢你的帮助!
124321gyrdiokyq5iedidi.jpg
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:31:43 | 显示全部楼层
 
是的,你说得对,谢谢你,巴勃罗!
回复

使用道具 举报

2

主题

74

帖子

72

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 12:38:34 | 显示全部楼层
ica_cici,不,不应该这样。
请显示图形DWG文件,并从命令行复制程序的所有执行过程
回复

使用道具 举报

5

主题

18

帖子

13

银币

初来乍到

Rank: 1

铜币
25
发表于 2022-7-6 12:50:27 | 显示全部楼层
我再次尝试lisp,现在我想我知道是什么导致了这个问题。似乎放大和缩小对它有影响(参见test1.jpg和test2.jpg)。
在第二张图片中,我应用了放大,因此屏幕上比第一张图片有更多的空间,并获得了完美的结果。
看起来屏幕外观限制了阵列进程。(对不起,我很难用英语表达)
这是test1的命令列表。jpg公司
 
命令:测试
选择对象:
初始a方向点:0,0,0
方向的终点:1.03,0,0
复印编号:15
旋转角度:12
_复制
选择对象:找到1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_2指定轴上的第一个点:
_非指定轴上的第二个点:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
命令:\u copy
选择对象:找到最后1个
选择对象:指定基点或位移,或[多个]:_不指定
第二个位移点或:
命令:\u rotate3d
当前正角度:ANGDIR=逆时针ANGBASE=0
选择对象:找到最后1个
选择对象:
指定轴上的第一个点或定义轴
[Object/Last/View/Xaxis/Yaxis/Zaxis/2points]:_不指定上的第二个点
轴:_非
指定旋转角度或[参考]:12.00000000000000
 
 
非常感谢Geobuilder
 
 
124323tsvx11thxxzs21xw.jpg
124324v01qgnx6981xrrr6.jpg
测验图纸
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-5 10:59 , Processed in 0.662496 second(s), 71 queries .

© 2020-2025 乐筑天下

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