找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 688|回复: 1

[LISP程序]:绘制管道沟的

[复制链接]

已领礼包: 444个

财富等级: 日进斗金

发表于 2002-3-9 09:00:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
;;;绘制出管道沟类线。

  1. (Defun C:YF_GDG(/ YF_GDGNK1 YF_GDGWK1 P1 P2 P3 P4 P5 P6 P7 P8 ANG1 S1)
  2.    (SetQ P1 (GetPoint "\n请选择管道沟第一点:")
  3.          P2 (GetPoint P1 "\n请选择管道沟第二点:")
  4.    )
  5.    ;(SetQ YF_GDGNK (GetInt "\n请输入沟内宽:")
  6.    ;         YF_GDGWK (GetInt "\n请输入沟外宽:")
  7.    ;)
  8.    (If (= YF_GDGNK Nil)
  9.       (SetQ YF_GDGNK (GetInt "\n请输入沟内宽:"))
  10.       (Progn
  11.          (SetQ YF_GDGNK1 (GetInt (StrCat "\n请输入沟内宽[" (IToA YF_GDGNK) "]:")))
  12.          (If (/= YF_GDGNK1 Nil) (SetQ YF_GDGNK YF_GDGNK1))
  13.       )
  14.    )   
  15.    (If (= YF_GDGWK Nil)
  16.       (SetQ YF_GDGWK (GetInt "\n请输入沟内宽:"))
  17.       (Progn
  18.          (SetQ YF_GDGWK1 (GetInt (StrCat "\n请输入沟外宽[" (IToA YF_GDGWK) "]:")))
  19.          (If (/= YF_GDGWK1 Nil) (SetQ YF_GDGWK YF_GDGWK1))
  20.       )
  21.    )                
  22.    (XDRX_Begin)
  23.    (SetQ ANG1 (Angle P1 P2))
  24.    (SetQ P3 (Polar P1 (+ ANG1 (/ PI 2)) (/ YF_GDGNK 2))
  25.          P4 (Polar P2 (+ ANG1 (/ PI 2)) (/ YF_GDGNK 2))
  26.    )         
  27.    ;(Vl-CmdF "._LINE" P3 P4 "")
  28.    (XDRX_Line1 P3 P4)
  29.    (SetQ P3 (Polar P1 (- ANG1 (/ PI 2)) (/ YF_GDGNK 2))
  30.          P4 (Polar P2 (- ANG1 (/ PI 2)) (/ YF_GDGNK 2))
  31.    )
  32.    ;(Vl-CmdF "._LINE" P3 P4 "")
  33.    (XDRX_Line1 P3 P4)
  34.    (SetQ P5 (Polar P1 (+ ANG1 (/ PI 2)) (/ YF_GDGWK 2))
  35.          P6 (Polar P2 (+ ANG1 (/ PI 2)) (/ YF_GDGWK 2))
  36.    )         
  37.    ;(Vl-CmdF "._LINE" P3 P4 "")
  38.    (XDRX_Line1 P5 P6)
  39.    (SetQ P7 (Polar P1 (- ANG1 (/ PI 2)) (/ YF_GDGWK 2))
  40.          P8 (Polar P2 (- ANG1 (/ PI 2)) (/ YF_GDGWK 2))
  41.    )
  42.    ;(Vl-CmdF "._LINE" P3 P4 "")
  43.    (XDRX_Line1 P7 P8)
  44.    (initget  "0 1 2 3")
  45.    (SetQ S1 (GetKWord "两端线条封闭[0]或不封闭[1]/首端封闭[2]/尾端封闭[3]:"))
  46.    (Cond
  47.       ((= S1 Nil) (Progn (XDRX_Line1 P5 P7) (XDRX_Line1 P6 P8)))
  48.       ((= S1 "0") (Progn (XDRX_Line1 P5 P7) (XDRX_Line1 P6 P8)))
  49.       ((= S1 "1"))
  50.       ((= S1 "2") (XDRX_Line1 P5 P7))
  51.       ((= S1 "3") (XDRX_Line1 P6 P8))
  52.    )   
  53.    (XDRX_End)
  54. )
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 444个

财富等级: 日进斗金

 楼主| 发表于 2002-3-9 09:17:40 | 显示全部楼层
LISP程序在此下载。
需XDRX_API支持。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-6 14:05 , Processed in 0.222895 second(s), 33 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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