找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 525|回复: 0

[讨论]:最没条理的程序(还没整理)-独立基础

[复制链接]
发表于 2004-7-3 14:16:32 | 显示全部楼层 |阅读模式

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

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

×

  1. (defun c:jichu (/ pianyi bili l_1 l_2a l_2b pt0 x y d d1 d2 pt_1a pt_1b pt_1c pt_1d
  2.                 pt_2a pt_2b pt_2c pt_2d pt_3a pt_3b pt_3c pt_3d
  3.                 pt_4a pt_4b pt_4c pt_4d )
  4.   (princ "\n请输入预埋板宽度:")
  5.   (setq l_1 (getint))
  6.   (princ "\n请输入基础长度:")
  7.   (setq l_2a (getint))
  8.   (princ "\n请输入基础宽度:")
  9.   (setq l_2b (getint))
  10.   (princ "\n请指定位置:")
  11.   (setq pt0 (getpoint))
  12.   (sta)
  13.     (cond
  14.     ((> (/ l_2a 70) 10)(setq bili 10)))
  15.   (cond
  16.     ((> (/ l_2a 70) 15)(setq bili 16)))
  17.   (cond
  18.     ((> (/ l_2a 70) 19)(setq bili 20)))
  19.   (cond
  20.     ((> (/ l_2a 70) 29)(setq bili 30)))
  21.   (cond
  22.     ((> (/ l_2a 70) 39)(setq bili 40)))
  23.   (cond
  24.     ((> (/ l_2a 70) 49)(setq bili 50))
  25.     )
  26.   (setq pianyi (* bili 8))

  27.   ;;;基础平面
  28.   (setq x (nth 0 pt0) y (nth 1 pt0))
  29.   (setq d (* 0.5 l_1))
  30.   (setq pt_1a (list (- x d) (+ y d) 0)
  31.         pt_1b (list (+ x d) (+ y d) 0)
  32.         pt_1c (list (+ x d) (- y d) 0)
  33.         pt_1d (list (- x d) (- y d) 0));
  34.   (setq d (+ d 50))
  35.   (setq pt_2a (list (- x d) (+ y d) 0)
  36.         pt_2b (list (+ x d) (+ y d) 0)
  37.         pt_2c (list (+ x d) (- y d) 0)
  38.         pt_2d (list (- x d) (- y d) 0));
  39.   (setq d1 (* 0.5 l_2a))
  40.   (setq d2 (* 0.5 l_2b))
  41.   (setq pt_3a (list (- x d1) (+ y d2) 0)
  42.         pt_3b (list (+ x d1) (+ y d2) 0)
  43.         pt_3c (list (+ x d1) (- y d2) 0)
  44.         pt_3d (list (- x d1) (- y d2) 0));
  45.   (setq d1 (+ d1 100))
  46.   (setq d2 (+ d2 100))
  47.   (setq pt_4a (list (- x d1) (+ y d2) 0)
  48.         pt_4b (list (+ x d1) (+ y d2) 0)
  49.         pt_4c (list (+ x d1) (- y d2) 0)
  50.         pt_4d (list (- x d1) (- y d2) 0));
  51.   (command "rectang" pt_1a pt_1c)
  52.   (command "rectang" pt_2a pt_2c)
  53.   (command "rectang" pt_3a pt_3c)
  54.   (command "rectang" pt_4a pt_4c)
  55.   (command "line" pt_2a pt_3a "")
  56.   (command "line" pt_2b pt_3b "")
  57.   (command "line" pt_2c pt_3c "")
  58.   (command "line" pt_2d pt_3d "")
  59.   ;;;基础立面
  60.   (command "pline"
  61.            (list (- x d1) (- y d2 2000));1
  62.            (list (+ x d1) (- y d2 2000));2
  63.            (list (+ x d1) (- y d2 1900));3
  64.            (list (+ x d1 -100) (- y d2 1900));4
  65.            (list (+ x d1 -100) (- y d2 1700));5
  66.            (list (+ x d) (- y d2 1500));6
  67.            (list (+ x d) (- y d2 900));7
  68.            (list (- x d) (- y d2 900));8
  69.            (list (- x d) (- y d2 1500));9
  70.            (list (- x d1 -100) (- y d2 1700));10
  71.            (list (- x d1 -100) (- y d2 1900));11
  72.            (list (- x d1) (- y d2 1900));12
  73.            "c"
  74.            )
  75.   (command "line" (list (- x d1 -100) (- y d2 1900)) (list (+ x d1 -100) (- y d2 1900)) "")
  76.   (command "pline"
  77.            (list (+ x d -50) (- y d2 900));13
  78.            (list (+ x d -50) (- y d2 914));14
  79.            (list (- x d -50) (- y d2 914));15
  80.            (list (- x d -50) (- y d2 900));16
  81.             "")
  82.   (command "zoom" (list (- x l_2a) (+ y l_2b)) (list (+ x l_2a) (- y l_2b 2000)))
  83.   ;;;配筋
  84.   (command "pline"
  85.            (list (- x d -40) (- y d2 940))
  86.            (list (- x d -40) (- y d2 1840))
  87.            (list (- x d 160) (- y d2 1840))
  88.            "")
  89.   (command "pline"
  90.            (list (+ x d -40) (- y d2 940))
  91.            (list (+ x d -40) (- y d2 1840))
  92.            (list (+ x d 160) (- y d2 1840))
  93.            "")
  94.   (command "line"
  95.            (list x (- y d2 940))
  96.            (list x (- y d2 1840))
  97.            "")
  98.   (command "line"
  99.            (list (- x d1 -140) (- y d2 1860))
  100.            (list (+ x d1 -140) (- y d2 1860))
  101.            "")
  102.   ;;;箍筋
  103.   (command "line"
  104.            (list (- x d -40) (- y d2 990))
  105.            (list (+ x d -40) (- y d2 990))
  106.            "")
  107.   (command "line"
  108.            (list (- x d -40) (- y d2 1140))
  109.            (list (+ x d -40) (- y d2 1140))
  110.            "")
  111.   (command "line"
  112.            (list (- x d -40) (- y d2 1290))
  113.            (list (+ x d -40) (- y d2 1290))
  114.            "")
  115.   (command "line"
  116.            (list (- x d -40) (- y d2 1440))
  117.            (list (+ x d -40) (- y d2 1440))
  118.            "")
  119.   (command "line"
  120.            (list (- x d -40) (- y d2 1590))
  121.            (list (+ x d -40) (- y d2 1590))
  122.            "")
  123.   (command "line"
  124.            (list (- x d -40) (- y d2 1740))
  125.            (list (+ x d -40) (- y d2 1740))
  126.            "")
  127.   (command "circle" (list x (- y d2 1850)) "5")
  128.   (command "-bhatch" "p" "SOLID" "s" "l" "" "")
  129.   (command "-array" "l" "" "r" "1" (fix (/ l_2a 300)) "150")
  130.   (command "-array" "p" "" "r" "1" (fix (/ l_2a 300)) "-150")
  131.   ;;;尺寸
  132. (command "zoom" (strcat "1/" (itoa bili) "xp"))
  133.   ;;;长度方向
  134.   (command "dimlinear" (polar pt_3d (* -0.5 pi) 100) (polar pt_3c (* -0.5 pi) 100)
  135.            (polar pt_3c (* -0.5 pi) (+ (* 2 pianyi) 100)));;总长
  136.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  137.   (command "dimlinear" (polar pt_3d (* -0.5 pi) 100) pt_4d
  138.            (polar pt_3c (* -0.5 pi) (+ (* 2 pianyi) 100)))
  139.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  140.   (command "dimlinear" (polar pt_3c (* -0.5 pi) 100) pt_4c
  141.            (polar pt_3c (* -0.5 pi) (+ (* 2 pianyi) 100)));;两侧垫层
  142.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  143.   (command "dimlinear" (polar pt_3d (* -0.5 pi) 100) (list (nth 0 pt_2d) (nth 1 pt_4d) 0)
  144.            (polar pt_3c (* -0.5 pi) (+ pianyi 100)))
  145.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  146.   (command "dimlinear" (list x (nth 1 pt_4d)) (list (nth 0 pt_2d) (nth 1 pt_4d))
  147.            (polar pt_3c (* -0.5 pi) (+ pianyi 100)))
  148.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  149.   (command "dimlinear" (polar pt_3c (* -0.5 pi) 100) (list (nth 0 pt_2c) (nth 1 pt_4d) 0)
  150.            (polar pt_3c (* -0.5 pi) (+ pianyi 100)))
  151.   (command "copy" "l" "" "0,0,0" "0,-2000,0")
  152.   (command "dimlinear" (list x (nth 1 pt_4d)) (list (nth 0 pt_2c) (nth 1 pt_4d))
  153.            (polar pt_3c (* -0.5 pi) (+ pianyi 100)))
  154.   (command "copy" "l" "" "0,0,0" "0,-2000,0")

  155.   ;;;高度方向
  156.   (command "dimlinear" (list (+ x d1) (- y d2 2000))  (list (+ x d1) (- y d2 1900))
  157.            (list (+ x d1 pianyi pianyi) (- y d2 1900)));;垫层
  158.   (command "dimlinear" (list (+ x d1) (- y d2 1900))  (list (+ x d1) (- y d2 900))
  159.            (list (+ x d1 pianyi pianyi) (- y d2 1900)))
  160.   (command "dimlinear" (list (+ x d1) (- y d2 1900))  (list (+ x d1) (- y d2 1700))
  161.            (list (+ x d1 pianyi) (- y d2 1900)))
  162.   (command "dimlinear" (list (+ x d1) (- y d2 1700))  (list (+ x d1) (- y d2 1500))
  163.            (list (+ x d1 pianyi) (- y d2 1900)))
  164.   (command "dimlinear" (list (+ x d1) (- y d2 1500))  (list (+ x d1) (- y d2 900))
  165.            (list (+ x d1 pianyi) (- y d2 1900)))
  166.   ;;;插入标高
  167.   (command "-insert" "标高符号" "s" bili (list (+ x d1 pianyi pianyi) (- y d2 900)) "")
  168.   ;(command "DDEDIT" "l"  "-0.100" "")
  169.   ;;;插入图名
  170.   (command "-insert" "图名符号" "s" bili (list x (- y d2 (* 3 pianyi))) "")
  171.   (command "-insert" "图名符号" "s" bili (list x (- y d2 2000 (* 3 pianyi))) "")
  172.     ;;;宽度方向
  173.   (command "dimlinear" (list (+ x d1) (- y (* 0.5 l_2b))) (list (+ x d1) (- y (* 0.5 l_2b) 100))
  174.            (list (+ x d1 pianyi pianyi) (- y (* 0.5 l_2b))))
  175.   (command "dimlinear" (list (+ x d1) (- y (* 0.5 l_2b))) (list (+ x d1) (- y (* 0.5 l_1) 50))
  176.            (list (+ x d1 pianyi) (- y (* 0.5 l_2b))))
  177.   (command "dimlinear" (list (+ x d1) y) (list (+ x d1) (- y (* 0.5 l_1) 50))
  178.            (list (+ x d1 pianyi) (- y (* 0.5 l_2b))))
  179.   (command "dimlinear" (list (+ x d1) y) (list (+ x d1) (+ y (* 0.5 l_1) 50))
  180.            (list (+ x d1 pianyi) (- y (* 0.5 l_2b))))
  181.   (command "dimlinear" (list (+ x d1) (+ y (* 0.5 l_2b))) (list (+ x d1) (+ y (* 0.5 l_1) 50))
  182.            (list (+ x d1 pianyi) (- y (* 0.5 l_2b))))
  183.   (command "dimlinear" (list (+ x d1) (+ y (* 0.5 l_2b))) (list (+ x d1) (+ y (* 0.5 l_2b) 100))
  184.            (list (+ x d1 pianyi pianyi) (- y (* 0.5 l_2b))))
  185.   ;;
  186.   (command "dimlinear" (list (+ x d1) (- y (* 0.5 l_2b))) (list (+ x d1) (+ y (* 0.5 l_2b)))
  187.            (list (+ x d1 pianyi pianyi) (- y (* 0.5 l_2b))))

  188.   (end)
  189.   )
  190. ;;;(chicun pt10 pt11 pt12 pt13 pt14 faxiang tuceng wenzi)
  191. (defun chicun (pt10 pt11 pt12 pt13 pt14 faxiang tuceng wenzi / chicun)
  192.   (setq chicun (list
  193. ;***(-1 . <图元名: 4006cde0>)
  194. (cons 0  "DIMENSION")
  195. ;***(330 . <图元名: 40066cf8>)
  196. ;***(5 . 1E64)
  197. ;***(100 . AcDbEntity)
  198. ;***(67 . 0)
  199. ;***(410 . Model)
  200. tuceng;(8 . ANCHOR_LINE)图层
  201. ;(cons 48 0.3)
  202. ;***(100 . AcDbDimension)
  203. ;***(2 . *D17)
  204. pt10;(10 40113.5 16600.0 0.0)起点
  205. pt11;(11 38265.9 16900.0 0.0)末点
  206. pt12;(12 0.0 0.0 0.0)
  207. (cons 70 32)
  208. ;***(1 . )
  209. ;***(71 . 5)
  210. ;***(72 . 1)
  211. ;***(41 . 1.0)
  212. ;***(42 . 3695.17)
  213. (cons 52 0.0)
  214. (cons 53 0.0)
  215. (cons 54 0.0)
  216. (cons 51 0.0)
  217. (210 0.0 0.0 1.0);;法向
  218. (cons 8 "ISO-25")
  219. ;***(100 . "AcDbAlignedDimension")
  220. pt13;(13 36418.3 17448.4 0.0)
  221. pt14;(14 40113.5 17448.4 0.0)
  222. '(15 0.0 0.0 0.0)
  223. '(16 0.0 0.0 0.0)
  224. (cons 40 0.0)
  225. wenzi;(cons 50 0.0)
  226. ;***(100 . "AcDbRotatedDimension")
  227. ))
  228.   (entmake chicun)
  229.   )
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-9-27 06:54 , Processed in 0.198572 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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