lisp程序中的一些帮助
嗨,亲爱的成员,我需要做这个细节的侧面和俯视图,螺栓必须从2到8?用户必须选择。http://imghost.in/?v=2014-05-17_oazsrgay4ibm6l2zs6clkxqac。巴布亚新几内亚我做了这样的事,不知道下一步该怎么办。请帮忙/
(setq K_center(getpoint "Центр крышки") K_radius(getreal "Радиус крышки") K_circle_count(getint "Колличество отверстий"))
(setq K_radius_inLL (- K_radius (* K_radius (/ 3.0 5.0))))
(setq K_radius_inL (- K_radius (* K_radius (/ 4.0 5.0))))
(setq K_radius_inF (/ K_radius (/ 5.0 7.0)))
(setq K_radius_inS (- K_radius_inF (- K_radius K_radius_inF)))
(setq K_rad_in_dist (- K_radius_inS K_radius_inF))
(setq K_circl_in_x (nth 0 K_center))
(setq K_circl_in_y (+ (nth 1 K_center) (- K_radius_inS (/ K_rad_in_dist 2.0))))
(setq K_circl_point (list K_circl_in_x K_circl_in_y))
(setq K_circl_rad (- (/ K_rad_in_dist 2.0) (/ K_radius_inS 20.0)))
(setq K_circl_mass_point (list K_circl_in_x (+ K_circl_in_y K_circl_rad)))
(setq K_circl_inL_x (nth 0 K_center))
(setq K_circl_inL_y (+ (nth 1 K_center) K_radius_inL))
(setq K_circl_inLL_x (nth 0 K_center))
(setq K_circl_inLL_y (+ (nth 1 K_center) K_radius_inLL))
(setq K_circl_inL_point (list K_circl_inL_x K_circl_inL_y))
(setq K_circl_inLL_point (list K_circl_inLL_x K_circl_inLL_y) 我建议您提供一个DWG(带标签)来描述您要完成的任务。它看起来像圆形盖中的孔/螺栓图案。你是在做2D还是想要3D效果?
我需要2D模型。。。
这是完整的lisp代码的俯视图(第一张图片);这是侧视图(第二张图),需要一个代码。侧视图应取决于俯视图,也就是说,如果盖的半径从上方为500,则侧视图的长度应为1000。
代码-lisp第一张图片:
(setq K_center(getpoint "center of the lid") K_radius(getreal "The radius of
the lid") K_circle_count(getint "Number of Holes"))
(setq K_radius_inLL (- K_radius (* K_radius (/ 3.0 5.0))))
(setq K_radius_inL (- K_radius (* K_radius (/ 4.0 5.0))))
(setq K_radius_inF (/ K_radius (/ 5.0 7.0)))
(setq K_radius_inS (- K_radius_inF (- K_radius K_radius_inF)))
(setq K_rad_in_dist (- K_radius_inS K_radius_inF))
(setq K_circl_in_x (nth 0 K_center))
(setq K_circl_in_y (+ (nth 1 K_center) (- K_radius_inS (/ K_rad_in_dist
2.0))))
(setq K_circl_point (list K_circl_in_x K_circl_in_y))
(setq K_circl_rad (- (/ K_rad_in_dist 2.0) (/ K_radius_inS 20.0)))
(setq K_circl_mass_point (list K_circl_in_x (+ K_circl_in_y K_circl_rad)))
(setq K_circl_inL_x (nth 0 K_center))
(setq K_circl_inL_y (+ (nth 1 K_center) K_radius_inL))
(setq K_circl_inLL_x (nth 0 K_center))
(setq K_circl_inLL_y (+ (nth 1 K_center) K_radius_inLL))
(setq K_circl_inL_point (list K_circl_inL_x K_circl_inL_y))
(setq K_circl_inLL_point (list K_circl_inLL_x K_circl_inLL_y))
(command "CIRCLE" K_circl_point K_circl_rad)
(command "CIRCLE" K_center K_radius_inL)
(command "CIRCLE" K_center K_radius_inLL)
(command "CIRCLE" K_center K_radius)
(command "CIRCLE" K_center K_radius_inF)
(command "CIRCLE" K_center K_radius_inS)
(command "HATCH" "SOLID" K_circl_inL_point K_circl_inLL_point "")
(command "POLARARRAY" K_circl_mass_point "" K_center "О" K_circle_count ""
"CLOSE")
有标签的照片怎么样?看起来你想要一个有洞的盖子。得到圆心和半径,然后是孔的数量。这是否意味着其他一切都依赖于这些维度?例如,孔的位置、孔的大小、盖的厚度等。? 顺便说一句,您需要将代码放入代码标记中:http://www.cadtutor.net/forum/showthread.php?9184-代码发布指南 如果从顶部更改盖子的半径,则侧视图应该更改 是的,没错。我可以请你帮忙吗? 你看过约束吗?然后,一切都与其他事物有关,更改半径和零件更新。动态块?更改主孔直径其他3更新等。使用lisp意味着每次都要重新绘制。我不是约束方面的天才,有人可能会为你举一个接近你所知道的例子。 BIGAL是对的,动态块或使用约束可以为您工作,如果使用LISP,您基本上会擦除和重画,或者有反应器。
如果你想学习LISP,我可以试着帮你简单地画这个项目,但不能用reactor。也许其他人会愿意这样做?
在任何情况下,您都需要提供所有信息,无论是编程还是约束,即直径、孔等的组合,以及一般尺寸,包括不变的尺寸。您将提供项目的DWG,其中包含范围和组合,而不是图片。 Lisp程序。你需要这样的东西吗?
页:
[1]
2