乐筑天下

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

[编程交流] 把你的螺旋线拿过来!

[复制链接]

8

主题

87

帖子

87

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 09:30:45 | 显示全部楼层 |阅读模式
我在这里复制了一条来自fuccaro的消息,这是我从旧留言板上救出的。这是如此有用,我认为这将是伟大的启动这个新的AutoLISP板。
 
大卫
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 09:35:50 | 显示全部楼层
我通过电子邮件宣布,上面的lisp程序只有在OSNAP关闭的情况下才能正常工作。是真的,请原谅,但我简化了太多的程序,试图使其简短。在线路之后
(setq old(getvar“snapmode”))
请插入此项:
(setvar“snapmode”0)
感谢科兹卡的观察。
回复

使用道具 举报

2

主题

20

帖子

18

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:38:31 | 显示全部楼层
这是一个用于三维螺旋类型对象的lisp
 
http://pointa.autodesk.com/local/enu/portal/Articles/article.jsp?articleId=15872
 
HTH公司
 
刻痕
 
(非lithssps CAD)
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 09:41:14 | 显示全部楼层
谢谢你,T先生的链接。另一种方法是在实体变得难以操作时生成曲面。这些都是一般的建议程序,我以一种简单的方式重写了例程,以满足我们的需要。首先,这是一个绘制螺旋的程序,如果标高(螺距)设置为零,则绘制螺旋。圈数可能是实数(!)您可以独立设置起点和终点半径,因此很容易绘制锥形弹簧。半径可以接受负值(试试这个:Rb=10;Rt=-10;标高=0,转角=2)。
我将带着另一个程序返回,在螺旋路径上挤出一个形状,生成一个曲面。所以离我近一点!
 
  1. (defun C:Helcon()
  2. (setq segs 20); segments/turn
  3. (setq spin -1); -1=CW, 1=CCW
  4. (setq ri (getreal "base radius ") rf (getreal "top radius "))
  5. (initget (+ 1 4))
  6. (setq h (getreal "elevation "))
  7. (initget (+ 1 2 4))
  8. (setq tu (getreal "turns "))
  9. (setq old (getvar "osmode"))
  10. (setvar "cmdecho" 0)  
  11. (setq fi1 (/ (* 2 PI) segs) i 0)
  12. (setq points (fix (* tu segs))
  13.    h1 (/ h points) r1 (/ (- rf ri) points)
  14.    s (getpoint "center of base ")
  15.    end (list (car s) (cadr s) (+ h (caddr s))))
  16. (setvar "osmode" 0 )
  17. (command "line" s end "")
  18. (command "chprop" "l" "" "c" 1 "")
  19. (command "3dpoly")
  20. (setq i 0)
  21. (repeat (1+ points)
  22.    (setq fi (* i fi1) h (* i h1) r (+ ri (* i r1)))
  23.    (setq x (* r (cos fi)) y (* spin r (sin fi)))
  24.    (command (list (+ (car s) x) (+ (cadr s) y) (+ (caddr s) h)))
  25.    (setq i (1+ i)))
  26. (command "")
  27. (setvar "osmode" old))
回复

使用道具 举报

8

主题

87

帖子

87

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 09:45:42 | 显示全部楼层
福卡罗
 
感谢修改后的lisp文件。我刚试过,效果不错。我使用它来创建此拉伸的路径:
 
 
由于三维多段线上点之间的增量,实体拉伸是分面的。您认为可以允许用户设置增量吗?
 
此外,可以对生成的螺旋进行样条拟合,但AutoCAD不允许沿样条拟合的三维多段线进行拉伸。有人找到了解决这个问题的方法吗?
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 09:46:54 | 显示全部楼层
这很容易改变。在第二个程序行(用注释标记)中,将数字(20)设置为更高的值,弹簧看起来会更好。是的,可以向用户询问很多事情,比如颜色、图层。。。我决定让程序简单易用。但是如果你愿意的话,只要换掉第二行就行了
(setq segs 20);分段/转弯
有了这个:
(setq segs(getint“segments?”))
我感到沮丧,我没有可能插入图像。该程序中的新功能是绘制一个圆锥螺旋线,并且圈数为实数。但在你的图像中,只是一个简单的普通圆柱螺旋,正好有5圈。
正如我所承诺的,我将带着另一个程序回来,在螺旋路径上挤出其他形状,而不仅仅是圆。我必须测试一下,否则全世界都会拥有它。
回复

使用道具 举报

8

主题

87

帖子

87

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 09:50:27 | 显示全部楼层
你是说像这样。。。
 
 
...是的,这也很管用。
 
Fuccaro做得很好,迫不及待地想测试挤出例程。
回复

使用道具 举报

2

主题

20

帖子

18

银币

初来乍到

Rank: 1

铜币
10
发表于 2022-7-6 09:53:01 | 显示全部楼层
凉的但它可以画成一个圆锥体,外面有一个排列的“wigwam杆”排列,然后画成一个三维柱状图????
 
刻痕
回复

使用道具 举报

18

主题

434

帖子

422

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
94
发表于 2022-7-6 09:57:46 | 显示全部楼层
从(0,0,0)中画一条水平线-这将是螺旋的轴。绘制形状,最方便的方式是绘制多段线。形状与轴的距离将给出螺旋的半径。启动程序。当系统提示您轮廓的点数时,如果形状是开放的,请输入形状的顶点数。如果分数接近,则必须输入点数+1。按顺序显示点,如绘制多段线时。要闭合形状,最后一个点必须与第一个点相同。这里是3Dmesh大小的限制,如果曲面不完整,并且程序结束时显示消息“警告!曲面已修剪”,请再次尝试降低质量或圈数。
 
  1. 2
回复

使用道具 举报

8

主题

87

帖子

87

银币

初来乍到

Rank: 1

铜币
35
发表于 2022-7-6 10:00:59 | 显示全部楼层
是的,这也行。。。
 
 
我对这种惯例只有一点批评。为什么不要求用户选择轮廓,并让例程计算出点的数量及其坐标?显然,您必须规定轮廓是使用多段线形成的,但这将避免用户输入错误点数等引起的潜在错误。
 
否则,它的工作原理与宣传的一样。谢谢福卡罗。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-3-7 02:12 , Processed in 0.458307 second(s), 72 queries .

© 2020-2025 乐筑天下

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