明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
12
返回列表 发新帖
楼主: 风流少年时

[已解答] 麻烦大神帮我看看我的程序,现在画线部分不执行。

[复制链接]
发表于 2015-4-16 13:26:55 | 显示全部楼层
工具箱内置功能

本帖子中包含更多资源

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

x
发表于 2015-4-16 13:38:25 | 显示全部楼层
本帖最后由 ZZXXQQ 于 2015-4-16 15:32 编辑
  1. (defun C:tt()
  2. (setvar "CMDECHO" 0)
  3. (command "-layer" "m" "S3-BEAM-IDEN-HORT" "c" 21 "" "")
  4. (setq r1 (getvar "userr1"))
  5. (setq k1 (* 250 (/ r1 100)))
  6. (setq k2 (* 200 (/ r1 100)))
  7. (if (or (= str nil) (= (wcmatch str "*.*") nil)) (setq str "200.400"))
  8. (if (= SDQ nil) (setq SDQ "C" DQWZ "居中"))
  9. (setq stt str)
  10. (setq TFF 0)
  11. (while (= TFF 0)
  12.   (if (or (= str nil) (= (wcmatch str "*.*") nil)) (setq str "200.400"))
  13.   (setq stt str)
  14.   (setq str (getstring (strcat "\n输入梁截面(*.*)or[上对齐(F)/居中(C)/下对齐(B)]当前{" DQWZ "}:<" stt ">:")))
  15.   (if (= str "")
  16.    (setq str stt)
  17.    (if (not(wcmatch str "*.*"))
  18.     (setq SDQ (strcase str) DQWZ (if (= SDQ "F") "上对齐" (if (= SDQ "C") "居中" "下对齐")))
  19.    )
  20.   )
  21.   (if (wcmatch str "*.*") (progn
  22.    (setq TFF 1)
  23.    (setq LKK (SB_LJM str 1))
  24.    (setq LGG (SB_LJM str 2))
  25.    (while (and (setq pc1 (getpoint "\n请输入第一点:"))
  26.     (setq pc2 (getpoint  pc1 "\n请输入第二点:")))
  27.     (setvar "CLAYER" "S0-BEAM1")
  28.     (setq jd0 (angle pc1 pc2))
  29.     (setq j0 (angtos jd0 0 20))
  30.     (setq jd1 (+ jd0 (/ pi 2)))
  31.     (setq pz2 (mapcar '+ pc1 pc2))
  32.     (setq pzd (mapcar  '(lambda (x) (/ x 2)) pz2) )
  33.     (if (= DQWZ "上对齐") (setq lks 0 ))
  34.     (if (= DQWZ "居中")   (setq lks 0.5))
  35.     (if (= DQWZ "下对齐") (setq lks 1))
  36.     (setq k3 (+ (* LKK lks) k2))
  37.     (setq px1 (polar pzd jd1 k3))
  38.     (setvar "clayer" "S3-BEAM-IDEN-HORT")
  39.     (command "text" "style" "GB" "MC" px1 k1 j0 sts)
  40. ;    (command "text" "MC" px1 k1 j0 sts)
  41.     (if (= SDQ "F") (progn
  42.      (setq TFF 0)
  43.      (command "line" pc1 pc2 "")
  44.      (setq pt1 (polar pc1 (+ jd0 (* 1.5 pi)) LKK))
  45.      (setq pt2 (polar pc2 (+ jd0 (* 1.5 pi)) LKK))
  46.      (command "line" pt1 pt2 "")
  47.     ))
  48.     (if (= SDQ "C") (progn
  49.      (setq TFF 0)
  50.      (setq l1 (/ LKK 2))
  51.      (setq pt1 (polar pc1 (+ jd0 (* 1.5 pi)) l1))
  52.      (setq pt2 (polar pc2 (+ jd0 (* 1.5 pi)) l1))
  53.      (command "line" pt1 pt2 "")
  54.      (setq pt3 (polar pc1 (+ jd0 (* 0.5 pi)) l1))
  55.      (setq pt4 (polar pc2 (+ jd0 (* 0.5 pi)) l1))
  56.      (command "line" pt3 pt4 "")
  57.     ))
  58.     (if (= SDQ "B") (progn
  59.      (setq TFF 0)
  60.      (command "line" pc1 pc2 "")
  61.      (setq pt1 (polar pc1 (+ jd0 (* 0.5 pi)) LKK))
  62.      (setq pt2 (polar pc2 (+ jd0 (* 0.5 pi)) LKK))
  63.      (command "line" pt1 pt2 "")
  64.     ))
  65.    )
  66.   ))
  67. )
  68. (princ)
  69. )
  70. ;;;(x)梁截面识别
  71. (defun SB_LJM(LJM pr)        
  72. (VL-LOAD-COM)
  73. (setq LKST "")
  74. (setq LGST "")
  75. (setq LJMN (strlen LJM))
  76. (if (wcmatch LJM "*.*") (progn
  77.   (setq XDWZ (vl-string-search  "." LJM))   ;;;小数点位置
  78.   (setq LKFF (atof (substr LJM 1 XDWZ)))    ;;;梁宽实数
  79.   (setq LGFF (atof (substr LJM (+ XDWZ 2))));;;梁高实数
  80. ))
  81. (if (= pr 1)
  82.   (setq LKLG LKFF)
  83.   (setq LKLG LGFF)
  84. )
  85. LKLG   
  86. )
 楼主| 发表于 2015-4-16 14:08:42 | 显示全部楼层
原来如此,非常感谢版主@ZZXXQQ帮助。谢谢了
 楼主| 发表于 2015-4-16 14:09:29 | 显示全部楼层
xyp1964 发表于 2015-4-16 13:26
工具箱内置功能

院长你的程序是牛逼,可是我公司电脑安装不上。很早就下过你的程序,无赖用不上。[em0]
 楼主| 发表于 2015-4-16 14:44:54 | 显示全部楼层
ZZXXQQ 发表于 2015-4-16 13:38

也有bug对齐方式改不了了....
发表于 2015-4-16 14:55:57 | 显示全部楼层
本帖最后由 llsheng_73 于 2015-4-16 14:59 编辑

30.    (if (= DQWZ "上对齐") (setq lks 0 ))
31.    (if (= DQWZ "居中")   (setq lks 0.5))
32.    (if (= DQWZ "下对齐") (setq lks 1))
===>
(setq lks(cdr(assoc DQWZ'(("上对齐" . 0)("居中" . 0.5)("下对齐" . 1)))))
或者
(setq lks(last(assoc DQWZ'(("上对齐"0)("居中"0.5)("下对齐"1)))))
 楼主| 发表于 2015-4-16 15:16:43 | 显示全部楼层
llsheng_73 发表于 2015-4-16 14:55
30.    (if (= DQWZ "上对齐") (setq lks 0 ))
31.    (if (= DQWZ "居中")   (setq lks 0.5))
32.     ...

没用,循环感觉有问题,大神你修改的部分我对齐方式是可以用的,ZZXXXQQ大神修改的地方我对齐方式改不了,你修改过的会在选择对齐方式的时候在最后一次绘图区出现两条线。

点评

12楼改了。再试试。  发表于 2015-4-16 15:33
 楼主| 发表于 2015-4-16 15:41:55 | 显示全部楼层
风流少年时 发表于 2015-4-16 15:16
没用,循环感觉有问题,大神你修改的部分我对齐方式是可以用的,ZZXXXQQ大神修改的地方我对齐方式改不了, ...

测试过了,没有问题了少了个判断,就让对齐方式没有改变了,谢谢ZZXXQQ大神的出手相助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-22 09:23 , Processed in 0.152546 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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