明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 6847|回复: 17

一个画两管相接相贯线的程序

    [复制链接]
发表于 2004-8-31 14:11:00 | 显示全部楼层 |阅读模式
原来就职的公司是搞燃气设备的,经常需要把两个管子垂直相接焊起来。相接之前需要根据相贯线把所谓的雌管和雄管(PS:我们工人阶级还是很有幽默感的 ^_^)气割成一个形状,然后拼起来焊在一起。根据一定的算法把雌管和雄管的曲线画出来,1:1的用打印机打印出来,然后工人把图纸敷在钢管上,用粉笔把曲线描出来,然后就可以割了。程序分为等径管相接和异径管相接。有兴趣的朋友来看看吧!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2021-10-2 07:34:37 来自手机 | 显示全部楼层
能不能修正皮厚,年代久远的帖子不知道作者还能看到吗
发表于 2004-9-5 21:30:00 | 显示全部楼层
看看,谢谢!
发表于 2004-9-5 23:54:00 | 显示全部楼层
下面的程序也可以画管子的相贯线,输入的参数D为大管直径,d为小管直径(可以等于D),B为两管的夹角,插入点为小管中心线与大管外壁的交点。该程序在R14上调试通过。 (DEFUN C:XGX ()
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(SETVAR "CMDECHO" 0)
(SETQ D (GETDIST "\nDiamter of D= ")
DS (GETDIST "\nDiamter of d= "))
(WHILE (> DS D)
(PROMPT "\nThe d must less than D! ")
(SETQ DS (GETDIST "\nReinter Diamter of d= "))
)
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
(WHILE (= B 0)
(PROMPT "\nThe angle B must begger than 0")
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
)
(SETQ B (/ (* (IF (= B nil) 90 0) PI) 180)
ANG (- B PI)
A 0 TA (/ (* 5 PI) 180)
RS (* DS 0.5) R (* D 0.5)
PT (GETPOINT "\nPipe Conect Point : ")
PT1 (POLAR PT 0 (/ RS (SIN B))))
(IF (EQUAL D DS 1E-5) (PROGN
(SETQ PT2 (POLAR PT ANG (/ RS (SIN B))) PT3 (POLAR PT PI (/ RS (SIN B))))
(COMMAND "PLINE" PT1 PT2 PT3 "")
) (PROGN
(SETQ A (+ A TA) RA (* (SIN A) RS) RB (* (COS A) RS))
(COMMAND "PLINE" PT1 "A")
(SETQ PT2 (POLAR (POLAR PT 0 (/ RB (SIN B))) ANG (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
(COMMAND "S" PT2)
(REPEAT 35
(SETQ A (+ A TA) RA (* (SIN A) RS) RB (/ (* (COS A) RS) (SIN B))
PT2 (POLAR (POLAR PT 0 RB) ANG (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
(COMMAND PT2)
)
(COMMAND "")
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
) (DEFUN C:XGX2 ()
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(SETVAR "CMDECHO" 0)
(SETQ D (GETDIST "\nDiamter of D= ")
DS (GETDIST "\nDiamter of d= "))
(WHILE (> DS D)
(PROMPT "\nThe d must less than D! ")
(SETQ DS (GETDIST "\nReinter Diamter of d= "))
)
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
(WHILE (= B 0)
(PROMPT "\nThe angle B must begger than 0")
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
)
(PROMPT "\nEnter Length of small pipe L= <")
(PRINC (* 3 DS))
(SETQ L (GETDIST "> "))
(SETQ L (IF (= L nil) (* 3 DS) L))
(SETQ B (/ (* (IF (= B nil) 90 B) PI) 180)
ANG (- B PI) AL1 (/ PI 2) AL2 (- AL1)
A 0 TA (/ (* 5 PI) 180)
RS (* DS 0.5) R (* D 0.5)
LSTEP (* TA RS)
PT (GETPOINT "\nInsert Point : ")
PT1 (POLAR PT PI (* RS PI))
PT2 (POLAR PT1 AL1 L))
(SETQ A (+ A TA) RA (* (SIN A) RS))
(COMMAND "PLINE" PT2 "A")
(SETQ PT3 (POLAR PT2 0 LSTEP)
PT2 (POLAR PT3 AL1 (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
(COMMAND "S" PT2)
(REPEAT 71
(SETQ A (+ A TA) RA (* (SIN A) RS))
PT3 (POLAR PT3 0 LSTEP)
PT2 (POLAR PT3 AL1 (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
(COMMAND PT2)
)
(SETQ PT3 (POLAR PT3 AL2 L))
(COMMAND "L" PT3 PT1 "C")
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
发表于 2004-9-23 12:02:00 | 显示全部楼层
谢谢
发表于 2006-11-28 09:54:00 | 显示全部楼层
本帖最后由 作者 于 2006-11-28 10:30:58 编辑

太好了终于找到了,两个程序都好用,谢谢各位大侠!!

ZZXXQQ的程序当输入夹角时提示:Pipe Conect Point : ; 错误: 除数为零,

在90度时好用!!

发表于 2006-11-28 13:58:00 | 显示全部楼层
tandy发表于2006-11-28 9:54:00太好了终于找到了,两个程序都好用,谢谢各位大侠!!ZZXXQQ的程序当输入夹角时提示...
两程序都有错误,下面是改过的。
[/CODE]
(DEFUN C:XGX ()
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(SETVAR "CMDECHO" 0)
(SETQ D (GETDIST "\nDiamter of D = ")
      DS (GETDIST "\nDiamter of d = "))
(WHILE (> DS D)
(PROMPT "\nThe d must less than D! ")
(SETQ DS (GETDIST "\nDiamter of d= "))
)
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
(WHILE (= B 0)
(PROMPT "\nThe angle B must begger than 0")
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
)
(SETQ B (/ (* (IF (= B nil) 90 B) PI) 180)
      ANG (- B PI)
      A 0 TA (/ (* 5 PI) 180)
      RS (* DS 0.5) R (* D 0.5)
      PT (GETPOINT "\nPipe Conect Point : ")
      PT1 (POLAR PT 0 (/ RS (SIN B))))
(IF (EQUAL D DS 1E-5) (PROGN
(SETQ PT2 (POLAR PT ANG (/ RS (SIN B))) PT3 (POLAR PT PI (/ RS (SIN B))))
(COMMAND "LINE" PT1 PT2 PT3 "")
) (PROGN
(SETQ A (+ A TA) RA (* (SIN A) RS) RB (* (COS A) RS))
(COMMAND "LINE" PT1 "A")
(SETQ PT2 (POLAR (POLAR PT 0 (/ RB (SIN B))) ANG (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
(COMMAND "S" PT2)
(REPEAT 35
  (SETQ A (+ A TA) RA (* (SIN A) RS) RB (/ (* (COS A) RS) (SIN B))
        PT2 (POLAR (POLAR PT 0 RB) ANG (/ (- R (SQRT (- (* R R) (* RA RA)))) (SIN B))))
  (COMMAND PT2)
)
(COMMAND "")
))
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
(DEFUN C:XGX2 ()
(SETQ OLDOS (GETVAR "OSMODE"))
(SETVAR "OSMODE" 0)
(SETVAR "CMDECHO" 0)
(SETQ D (GETDIST "\nDiamter of D= ")
      DS (GETDIST "\nDiamter of d= "))
(WHILE (> DS D)
(PROMPT "\nThe d must less than D! ")
(SETQ DS (GETDIST "\nReinter Diamter of d= "))
)
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
(WHILE (= B 0)
(PROMPT "\nThe angle B must begger than 0")
(SETQ B (GETREAL "\nAngle of the pipe (DEG) B= <90> "))
)
(PROMPT "\nEnter Length of small pipe L= <")
(PRINC (* 3 DS))
(SETQ L (GETDIST "> "))
(SETQ L (IF (= L nil) (* 3 DS) L))
(SETQ B (/ (* (IF (= B nil) 90 B) PI) 180)
      ANG (- B PI) AL1 (/ PI 2) AL2 (- AL1)
      A 0 TA (/ (* 5 PI) 180)
      RS (* DS 0.5) R (* D 0.5)
      LSTEP (* TA RS)
      TB (/ (SIN (- AL1 B)) (COS (- AL1 B)))
      R2 (* R R)
      PT (GETPOINT "\nInsert Point : ")
      PT1 (POLAR PT PI (* RS PI))
      PT2 (POLAR PT1 AL1 L))
(SETQ A (+ A TA) RA (* (SIN A) RS) RB (* (- 1 (COS A)) RS))
(COMMAND "LINE" PT2 "A")
(SETQ PT3 (POLAR PT2 0 LSTEP)
       PT2 (POLAR PT3 AL1 (+ (/ (- R (SQRT (- R2 (* RA RA)))) (SIN B)) (* TB RB))))
(COMMAND "S" PT2)
(REPEAT 71
  (SETQ A (+ A TA) RA (* (SIN A) RS) RB (* (- 1 (COS A)) RS)
        PT3 (POLAR PT3 0 LSTEP)
        PT2 (POLAR PT3 AL1  (+ (/ (- R (SQRT (- R2 (* RA RA)))) (SIN B)) (* TB RB))))
  (COMMAND PT2)
)
(SETQ PT3 (POLAR PT3 AL2 L))
(COMMAND "L" PT3 PT1 "C")
(SETVAR "OSMODE" OLDOS)
(SETVAR "CMDECHO" 1)
(PRINC)
)
[/CODE]

发表于 2006-11-30 08:34:00 | 显示全部楼层
谢谢ZZXXQQ提供的修正版,已能正确运行,衷心感谢!
发表于 2010-9-22 09:26:00 | 显示全部楼层
本帖最后由 作者 于 2010-9-27 21:05:42 编辑

我见同事使用钢构cad插件,是画相贯线最简单的了。

我在网上下载了一个,集中在我的工具中了,供你参考。只要三点就可以画相贯线了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2010-9-24 10:42:00 | 显示全部楼层
下了试一试,希望绘图效率能提高
发表于 2010-9-24 19:47:00 | 显示全部楼层
不错,好用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-16 15:40 , Processed in 0.185096 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表