明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1285|回复: 2

[基础] [求助]Please check my new program door & suggestion me

[复制链接]
发表于 2010-7-8 19:39 | 显示全部楼层 |阅读模式
dear all
  
Please check my new program door & suggestion me how to improve this program
& one problem on this code is only working in mm drg
  1. (DEFUN C: DR (/ lu abcdefg pt pp pt1 pt2 p ang1 tz wl ds wt sw ang2
  2. pt3 pt4 ang3 pl2 pl3 pl4 pl5 pl6 pt5 pt6 pt7 pt8 pt9 pt10 pt11 pt13 pt14 pt15)
  3. (SETVAR "BLIPMODE" 0)
  4. (SETVAR "OSMODE" 512)
  5. (Setq lu (getvar "lunits"))
  6. (If (= lu 2) (setq a 75 b 82 c 15 d 38 e 60 f 120 g 150)
  7. (Setq a 3 b 3.5 c 0.5 d 1.5 e 2.5 f 5 g 6))
  8. (If (null DRlay)
  9. (Progn
  10. (Setq DRlay "DR")
  11. (Setq DRlayer (tblsearch "layer" DRlay))
  12. (If (null DRlayer)
  13. (Progn
  14. (Setq DRlay (getstring "\ nLayer name for TEXT:"))
  15. (Setq DRclr (getstring (strcat "\ nColor for" DRlay "layer:")))
  16. (Command "layer" "m" DRlay "c" DRclr "" "")
  17. )
  18. (Prompt "\ nDOOR ON DR LAYER")
  19. )
  20. )
  21. )
  22. (SETQ PT (entsel "\ nPICK WALL LINE:"))
  23. (Setq pp (CDR (ASSOC 11 (ENTGET (CAR PT )))))
  24. (Setvar "osmode" 128)
  25. (SETQ PT1 (GETPOINT PP "\ nEnter Insertion Point:"))
  26. (SETQ PT2 (GETPOINT PT1 "\ nPick Opposite Wall Line:"))
  27. (SETVAR "OSMODE" 512)
  28. (SETQ p (GETpoint PT2 "\ nPICK THE SIDE FOR OPENING:"))
  29. (Setq ang1 (angle pt2 p))
  30. (IF (null DZ) (SETQ DZ "900"))
  31. (SETQ TZ (STRCASE (GETSTRING (STRCAT "\ nENTER SIZE OF OPENING <" DZ ">:")) t))
  32. (IF (/ = TZ "") (SETQ DZ TZ))
  33. (SETVAR "BLIPMODE" 0)
  34. (Setq wl (cdr (assoc 8 (entget (car pt )))))
  35. (SETQ DS (Atof DZ))
  36. (SETQ WT (DISTANCE PT1 PT2))
  37. (SETQ SW (- DS f))
  38. (SETQ ANG2 (ANGLE PT1 PT2))
  39. (SETQ PT3 (POLAR PT1 ANG1 DS))
  40. (SETQ PT4 (POLAR PT3 ANG2 WT))
  41. (SETQ ANG3 (ANGLE PT3 PT1))
  42. (SETQ PL2 (POLAR PT1 ANG1 a))
  43. (SETQ PL3 (POLAR PL2 ANG2 b))
  44. (SETQ PL4 (POLAR PL3 ANG3 c))
  45. (SETQ PL5 (POLAR PL4 ANG2 d))
  46. (SETQ PL6 (POLAR PL5 ANG3 e))
  47. (SETQ PT5 (POLAR PT1 ANG1 (/ DS 2)))
  48. (SETQ PT6 (POLAR PT5 ANG2 f))
  49. (SETQ PT7 (POLAR PL5 ANG1 SW))
  50. (SETQ PT12 PT7 PT13 PL5)
  51. (SETVAR "OSMODE" 0)
  52. (COMMAND "BREAK" Pt "F" PT1 PT3)
  53. (COMMAND "BREAK" P "F" PT2 PT4)
  54. (COMMAND "LAYER" "s" WL "")
  55. (COMMAND "LINE" PT1 PT2 "")
  56. (COMMAND "LINE" PT3 PT4 "")
  57. (COMMAND "COLOR" "BYLAYER")
  58. (COMMAND "LAYER" "t" drlay "on" drlay "s" drlay "")
  59. (COMMAND "PLINE" PT1 PL2 PL3 PL4 PL5 PL6 "")
  60. (COMMAND "MIRROR" PL2 "" PT5 PT6 "")
  61. (SETVAR "ORTHOMODE" 0)
  62. (SETQ PT11 (GETPOINT PT5 "\ nPICK THE SIDE FOR SHUTTER:"))
  63. (IF (> (DISTANCE PT11 PL5) (DISTANCE PT7 PT11)) (SETQ PL5 PT7 PT12 PT13))
  64. (SETQ PT8 (POLAR PL5 (ANGLE PL5 PT6) d))
  65. (SETQ PT9 (POLAR PT8 ANG2 SW))
  66. (SETQ PT10 (POLAR PT9 (ANGLE PT6 PL5) d))
  67. (COMMAND "PLINE" PL5 PT8 PT9 PT10 PL5 "")
  68. (COMMAND "ARC" PT12 PT9 PT10)
  69. (COMMAND "CHPROP" "L" "" "LT" "HIDDEN2" "")
  70. (Setq pt14 (polar pl3 ang1 (- ds g)))
  71. (Setq pt15 (polar pl2 ang1 (- ds g)))
  72. (If (and (> = ds 100) (<= ds 750)) (command "line" pl3 pt14 ""))
  73. (If (> = ds 910) (command "line" pl2 pt15 ""))
  74. (If (<= ds 32) (command "line" pl3 pt14 ""))
  75. (If (and (> = ds 37) (<ds 100)) (command "line" pl2 pt15 ""))
  76. )
"觉得好,就打赏"
还没有人打赏,支持一下
发表于 2010-7-8 21:09 | 显示全部楼层

Some Error:

1    C: DR ->> C:DR(no spase)

2   \ n ->> \n(no spase)

3   / = ->> /=(no spase)

4  > = ->> >=(no spase)

 楼主| 发表于 2010-7-9 20:13 | 显示全部楼层

DEAR SIR

 

THX FOR REPLY

ANY SUGGESTION ME TO IMPROVE THIS CODE

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

本版积分规则

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

GMT+8, 2024-5-17 19:54 , Processed in 0.198555 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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