找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 869|回复: 0

制图比例设置程序

[复制链接]
发表于 2002-1-17 10:07:46 | 显示全部楼层 |阅读模式

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

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

×

  1. ;;比例设置程序    编写:正航
  2. (DEFUN c:SSETBL        (/ bl blc dcl_id fdbl_list sxbl_list bln blm Fnane fa tmp)
  3.   (setvar "cmdecho" 0)
  4.   (setq        fdbl_list '("1:1    <优先选用>"
  5.                     "2:1    <优先选用>"
  6.                     "5:1    <优先选用>"
  7.                     "10:1   <优先选用>"
  8.                     "20:1   <优先选用>"
  9.                     "50:1   <优先选用>"
  10.                     "4:1    <允许选用>"
  11.                     "2.5:1  <允许选用>"
  12.                     "25:1   <允许选用>"
  13.                     "40:1   <允许选用>"
  14.                    )
  15.   )
  16.   (setq        sxbl_list '("1:1    <优先选用>"
  17.                     "1:2    <优先选用>"
  18.                     "1:5    <优先选用>"
  19.                     "1:10   <优先选用>"
  20.                     "1:20   <优先选用>"
  21.                     "1:50   <优先选用>"
  22.                     "1:1.5  <允许选用>"
  23.                     "1:2.5  <允许选用>"
  24.                     "1:3    <允许选用>"
  25.                     "1:4    <允许选用>"
  26.                     "1:6    <允许选用>"
  27.                     "1:15   <允许选用>"
  28.                     "1:25   <允许选用>"
  29.                     "1:30   <允许选用>"
  30.                     "1:40   <允许选用>"
  31.                     "1:60   <允许选用>"
  32.                     "1:100  <优先选用>"
  33.                    )
  34.   )
  35.   (sset011)
  36.   (setq tmp (getvar "dimlfac"))
  37.   (setvar "userr1" tmp)
  38.   (princ)
  39. )


  40. (defun sset011 (/ next)
  41.   (setq next 1)
  42.   (setq bl (getvar "dimlfac"))
  43.   (setq blc (rtos bl))
  44.   (setq dcl_id (load_dialog "sset01.DCL"));;
  45.   (if (not (new_dialog "sset011" dcl_id))
  46.     (exit)
  47.   )
  48.   (set_tile "BL" blc)
  49.   (start_list "FD")
  50.   (mapcar 'add_list fdbl_list)
  51.   (end_list)
  52.   (start_list "SX")
  53.   (mapcar 'add_list sxbl_list)
  54.   (end_list)
  55.   (action_tile
  56.     "FD"
  57.     "(progn (setq bln (get_tile "FD"))(sset012))"
  58.   )
  59.   (action_tile
  60.     "SX"
  61.     "(progn (setq blm (get_tile "SX"))(sset013))"
  62.   )
  63.   (action_tile "BL" "(setq blc (get_tile "BL"))")
  64.   (action_tile "READ" "(done_dialog 2)")
  65.   (action_tile "accept" "(done_dialog 1)")
  66.   (setq next (start_dialog))
  67.     (if (= next 2)
  68.     (sset014)
  69.   )
  70.   (unload_dialog dcl_id)
  71.   (setvar "dimlfac" (distof blc))
  72.   (princ)
  73. )

  74. (defun sset012 ()
  75.   (cond
  76.     ((= bln "0") (setq Bl 1))
  77.     ((= bln "1") (setq Bl 0.5))
  78.     ((= bln "2") (setq Bl 0.2))
  79.     ((= bln "3") (setq Bl 0.1))
  80.     ((= bln "4") (setq Bl 0.05))
  81.     ((= bln "5") (setq Bl 0.02))
  82.     ((= bln "6") (setq Bl 0.25))
  83.     ((= bln "7") (setq Bl 0.4))
  84.     ((= bln "8") (setq Bl 0.04))
  85.     ((= bln "9") (setq Bl 0.025))
  86.   )
  87.   (setvar "dimlfac" bl)
  88.   (setq blc (rtos bl))
  89.   (set_tile "BL" blc)
  90. )

  91. (defun sset013 ()
  92.   (cond
  93.     ((= blm "0") (setq Bl 1))
  94.     ((= blm "1") (setq Bl 2))
  95.     ((= blm "2") (setq Bl 5))
  96.     ((= blm "3") (setq Bl 10))
  97.     ((= blm "4") (setq Bl 20))
  98.     ((= blm "5") (setq Bl 50))
  99.     ((= blm "6") (setq Bl 1.5))
  100.     ((= blm "7") (setq Bl 2.5))
  101.     ((= blm "8") (setq Bl 3))
  102.     ((= blm "9") (setq Bl 4))
  103.     ((= blm "10") (setq Bl 6))
  104.     ((= blm "11") (setq Bl 15))
  105.     ((= blm "12") (setq Bl 25))
  106.     ((= blm "13") (setq Bl 30))
  107.     ((= blm "14") (setq Bl 40))
  108.     ((= blm "15") (setq Bl 60))
  109.     ((= blm "16") (setq Bl 100))
  110.   )
  111.   (setvar "dimlfac" bl)
  112.   (setq blc (rtos bl))
  113.   (set_tile "BL" blc)
  114. )

  115. (defun sset014 (/)
  116.   (setq fname "sset013.dat");;比例设置说明文件
  117.   (setq fa (open fname "r"))
  118.   (if (/= fa nil)
  119.     (sset015)
  120.     (close fa)
  121.   )
  122. )

  123. (defun sset015 (/ line)
  124.   (if (not (new_dialog "sset014" dcl_id))
  125.     (exit)
  126.   )
  127.   (start_list "READ")
  128.   (while
  129.     (setq line (read-line fa))
  130.      (add_list line)
  131.   )
  132.   (close fa)
  133.   (mapcar 'add_list line)
  134.   (end_list)
  135.   (action_tile "accept" "(done_dialog)")
  136.   (start_dialog)
  137.   (unload_dialog dcl_id)
  138.   (princ)
  139.   (sset011)
  140. )

  141. ;;======sset01.dcl
  142. dcl_settings : default_dcl_settings { audit_level = 3; }
  143. sset011 : dialog {
  144.    initial_focus = "BL" ;
  145.    label = "工程制图比例设定" ;
  146.    : edit_box {
  147.       edit_limit = 4 ;
  148.       key = "BL" ;
  149.       label = "绘图比例:  1:" ;
  150.       width = 3 ;
  151.       height = 1 ;
  152.    }
  153.    : boxed_column {
  154.       label = "标准比例:" ;
  155.       width = 7 ;
  156.       height = 4 ;
  157.       : popup_list {
  158.          key = "FD" ;
  159.          label = "放大:" ;
  160.          width = 7 ;
  161.          height = 1 ;
  162.       }
  163.       : popup_list {
  164.          key = "SX" ;
  165.          label = "缩小:" ;
  166.          width = 7 ;
  167.          height = 1 ;
  168.       }
  169.    }
  170.    : button {
  171.       key = "READ" ;
  172.       label = "比例(GB/T 14690-93)" ;
  173.       width = 5 ;
  174.       height = 1 ;
  175.    }
  176.    ok_only ;
  177. }

  178. sset014 : dialog {
  179.    label = "GB/T 14690-93 --有关比例的说明" ;
  180.    : list_box {
  181.       key = "READ" ;
  182.       fixed_width = true ;
  183.       fixed_height = true ;
  184.       width = 72 ;
  185.       height = 17 ;
  186.    }
  187.    ok_only ;
  188. }


  189. ;;在化工设备绘制中,不按实体长度的比例绘图是用得很多的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-3-29 18:51 , Processed in 0.370422 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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