我知道如何使用lisp,但我不知道你的例程,用于3d还是2d? 刘您好,谢谢您与我们分享gif制作工具。
实际上,我已经设置了所有默认参数,应该很容易。。
命令:测试
1.提示输入半径等。。,如果不确定,只需按X4次,
2.然后选择屏幕上的任意点绘制对象
3.prompt make 3D extrude solid,只需按两次(两个对象合并)
4.提示选项A或B,只需输入A或B,然后再次[输入]即可 这里有一个显示其工作原理的gif文件
谢谢paulmcz,我无法打开此链接!你能给我发电子邮件吗? Gif文件已通过电子邮件发送。你收到了吗?
我试图上传到这里,但它只上传了一个初始帧的gif和JPEG格式。所以我删除了文件。有人知道如何将功能齐全的“gif”文件上传到此网站吗?
谢谢你,保罗,我明白了,
我尝试了你的常规,但失败了。
Makine GIF,你可以试试“Gifcam”,如果你加载GIF文件,当上传完成,但它变为JPEG文件,那可能是GIF文件太大了。 对不起,我没有包括“晒黑”功能。又来了。我希望这次对你有用。
(defun c:tj (/ d1 d2 ud2 uu1 apdeg apr ap r1 r2 a b c d e f e1 cp1)
(command "_.undo" "_begin")
(setq osn (getvar "osmode"))
(setvar "cmdecho" 0)
(setq oerr *error*)
(defun *error* (msg)
(setvar "osmode" osn)
(princ "\n Function cancelled - Try again ")
(setq *error* oerr)
(command)
(princ)
)
(princ "\n Straight pipe diameter < ")
(if dd1
(princ dd1) ; prints default value
)
(princ " > ?? :")
(setq d1 (getdist))
(if (= d1 nil)
(setq d1 dd1)
)
(setq dd1 d1)
(princ "\n Branch pipe diameter < ")
(if dd2
(princ dd2)
) ; prints default value
(princ " > ?? :")
(setq d2 (getdist))
(if (= d2 nil)
(setq d2 dd2)
)
(setq dd2 d2)
(if (> d2 d1)
(progn
(alert
" Branch pipe diameter must be equal or smaller than straight pipe\nSTART OVER"
)
(^c^c)
)
)
(if ud1
(setq ud2 (* (/ ud1 pi) 180))
)
(princ "\n Branch pipe entry angle < ")
(if ud1
(princ ud2) ; prints default value
)
(princ " > ?? : ")
(setq uu1 (getangle))
(if (= uu1 nil)
(setq uu1 ud1)
)
(if (>= uu1 pi)
(progn
(alert "Angle must be smaller than 180 deg\nStart over")
(c^c^)
)
)
(if (= uu1 0)
(c^c^)
)
(setq ud1 uu1)
(setq u1 (* (/ uu1 pi) 180))
(setq apdeg 10.0) ;angle of precision
(setq ap (/ (* apdeg pi) 180))
(setq apr ap)
(setq ip (getpoint "\n Curve insertion (left endpoint): "))
(setq r1 (/ d1 2))
(setq r2 (/ d2 2))
(setvar "osmode" 0)
(setq a (- r2 (* r2 (cos ap))))
(setq b (/ a (sin uu1)))
(setq c (* r2 (sin ap)))
(setq d (- r1 (sqrt (- (expt r1 2) (expt c 2)))))
(setq f (- b (/ d (tan uu1))))
(setq cp1 (polar ip 0 f))
(setq p1 (polar cp1 (* pi 1.5) d))
(command "pline" ip "w" 0 0 p1 "")
(setq e (entlast))
(setq ap (+ ap apr))
(while (< ap pi)
(setq a (- r2 (* r2 (cos ap))))
(setq b (/ a (sin uu1)))
(setq c (* r2 (sin ap)))
(setq d (- r1 (sqrt (- (expt r1 2) (expt c 2)))))
(setq f (- b (/ d (tan uu1))))
(setq cp1 (polar ip 0 f))
(setq p1 (polar cp1 (* pi 1.5) d))
(command "line" "" p1 "")
(setq e1 (entlast))
(command "pedit" e "j" e1 "" c^c^)
(setq ap (+ ap apr))
)
(command "pedit" e "f" "" c^c^)
(setvar "osmode" osn)
(command "rotate" e "" ip pause)
(command "_.undo" "_end")
(princ "\n\n\n\n Straight pipe dia = ")
(princ d1)
(princ "\n Branch pipe dia = ")
(princ d2)
(princ "\n Branch pipe angle = ")
(princ u1)
(princ)
)
(defun tan (xx)
(/ (sin xx) (cos xx))
)
谢谢hanhphuc,
我知道你的日常工作是创建三维实体。这不是我想要的,我需要在2d模式下绘制干涉线。
这样地:
非常感谢。保罗,现在好了!美好的我需要一些时间来验证。 对不起,刘海欣。3D干涉无法帮助,幸运的是paulmcz帮助了thanx
根据Marko的建议修订的代码flatshot适用于不规则形状合并。
页:
1
[2]