明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1921|回复: 3

!写字符、汉字的源码程序!

[复制链接]
发表于 2014-11-2 21:54 | 显示全部楼层 |阅读模式
本帖最后由 尘缘一生 于 2014-11-6 17:59 编辑

自己写的,一直使用,想完善它,也为自己干活快些,请这里高手完善下吧
说明:
     我里面构建命令为:
     XZP:写出水平向字符的。
     XZC:写出垂直向字符的。
     XHZ:写字符、汉字综合的,包括水平、垂直、选择直线,设置字体等。

    SUAN-XZ:先写字--->选择一线性实体,即可写出与线性角度适合的实体,在移动定位。
特点1:字符等可以任意组合,鼠标点即可,也可以键盘输入新内容。本人极其恶心用键盘,
             追求最少击键,省一秒也不多一秒。因此,构建了几个命令,可以整合一个综合的。
            2:跟随鼠标,任意满足放置要求。
            3:这是93年写的,LISP简单,代码初级,自己只为干活快,都是被逼的。

遗憾我是做结构的,一直弄不好钢筋问题,组合也设置不好,DCL的LABLE 项又找不到钢筋怎么写,
           就用了汉字“一级钢",”二级钢“。。。成了这个样子。
            

本帖子中包含更多资源

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

x
发表于 2014-11-2 23:20 | 显示全部楼层
感觉这玩意实在块不到哪里去啊

点评

我截屏软件慢  发表于 2014-11-3 07:11
发表于 2014-11-3 00:28 | 显示全部楼层
命令: SUAN-XZ
; 错误: no function definition: ENTS

点评

丢掉一个子函数(ents),已经更新补上。  发表于 2014-11-3 07:19
SUAN-XZ 要选择一线性实体的。  发表于 2014-11-3 07:11
 楼主| 发表于 2014-11-3 07:29 | 显示全部楼层
源码如下:
  1. ;;----------------------------------------------------------------------------
  2. (defun ENTS( )
  3.         (setq pt1 (entsel "\nplease choose an entity:"))
  4.         (setq pt2 (nth 1 pt1))
  5.         (setq pt3 (nth 0 pt1))
  6.         (setq k3 (osnap pt2 "NEAR"))
  7.         (setq pt4 (osnap k3 "ENDPOINT"))
  8.         (setq pt5 (osnap k3 "MIDPOINT"))
  9.         (setq dis (distance pt4 pt5))
  10.         (setq ang (angle pt4 pt5))
  11.         (setq pt6 (polar pt4 ang (* 2 dis)))
  12.         (setq k1 (nth 0 pt4))
  13.         (setq k2 (nth 0 pt6))
  14.         (if (< k1 k2)
  15.                 (setq ang (angle pt4 pt6))
  16.         )
  17.         (if (< k2 k1)
  18.                 (setq ang (angle pt6 pt4))
  19.         )
  20.         (if (= k2 k1)
  21.                 (setq ang (/ pi 2))
  22.         )
  23. )
  24. ;;-----------------------------------------------------------------
  25. (defun DCLXZ( )
  26.   (if (or (not dcl_id) (< (setq dcl_id(load_dialog (dcl-xz-dcl))) 0))
  27.                 (setq dcl_id(load_dialog (dcl-xz-dcl))))
  28.   (if (not (new_dialog "dhxz" dcl_id))(exit))
  29.         (action_tile "tile0" "(setq pt1 $value)(setq s pt1)(setq n (strlen pt1))")
  30.         (action_tile "tile1" "(setq pt1 "1")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  31.         (action_tile "tile2" "(setq pt1 "2")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  32.         (action_tile "tile3" "(setq pt1 "3")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  33.         (action_tile "tile4" "(setq pt1 "4")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  34.         (action_tile "tile5" "(setq pt1 "5")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  35.         (action_tile "tile6" "(setq pt1 "6")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  36.         (action_tile "tile7" "(setq pt1 "7")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  37.         (action_tile "tile8" "(setq pt1 "8")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  38.         (action_tile "tile9" "(setq pt1 "9")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  39.         (action_tile "tile10" "(setq pt1 "0")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  40.         (action_tile "tile11" "(setq pt1 (chr 128))(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  41.         (action_tile "tile12" "(setq pt1 "%")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  42.         (action_tile "tile13" "(setq pt1 "=")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  43.         (action_tile "tile14" "(setq pt1 "%%130")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  44.         (action_tile "tile15" "(setq pt1 "%%131")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  45.         (action_tile "tile48" "(setq pt1 "%%132")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  46.         (action_tile "tile16" "(setq pt1 "@")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  47.         (action_tile "tile17" "(setq pt1 ";")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  48.         (action_tile "tile18" "(setq pt1 ",")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  49.         (action_tile "tile19" "(setq pt1 ":")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  50.         (action_tile "tile20" "(setq pt1 "(")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  51.         (action_tile "tile21" "(setq pt1 ")")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  52.         (action_tile "tile22" "(setq pt1 "+")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  53.         (action_tile "tile23" "(setq pt1 "-")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  54.         (action_tile "tile24" "(setq pt1 ".")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  55.         (action_tile "tile25" "(setq pt1 ">")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  56.         (action_tile "tile26" "(setq pt1 (strcat (chr 128) "0.000"))(setq s (strcat s pt1))(setq n (+ n 6))(set_tile "tile0" s)")
  57.         (action_tile "tile27" "(setq pt1 "@100")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  58.         (action_tile "tile28" "(setq pt1 "@120")(setq s (strcat s pt1))(setq n (+ n 4))(set_tile "tile0" s)")
  59.         (action_tile "tile29" "(setq pt1 "@150")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  60.         (action_tile "tile30" "(setq pt1 "@200")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  61.         (action_tile "tile31" "(setq pt1 "@250")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  62.         (action_tile "tile32" "(setq pt1 "<")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  63.         (action_tile "tile33" "(setq pt1 "*")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  64.         (action_tile "tile34" "(setq pt1 "&#91;")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  65.         (action_tile "tile35" "(setq pt1 "&#93;")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  66.         (action_tile "tile36" "(setq pt1 "a")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  67.         (action_tile "tile37" "(setq pt1 "#")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  68.         (action_tile "tile38" "(setq pt1 "JQL")(setq s (strcat s pt1))(setq n (+ n 3))(set_tile "tile0" s)")
  69.         (action_tile "tile39" "(setq pt1 "YP")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  70.         (action_tile "tile40" "(setq pt1 "XB")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  71.         (action_tile "tile41" "(setq pt1 "LL")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  72.         (action_tile "tile42" "(setq pt1 "JC")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  73.         (action_tile "tile43" "(setq pt1 "GL")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  74.         (action_tile "tile44" "(setq pt1 "XGL")(setq s (strcat s pt1))(setq n (+ n 3))(set_tile "tile0" s)")
  75.         (action_tile "tile45" "(setq pt1 "WL")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  76.         (action_tile "tile46" "(setq pt1 "TY")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  77.         (action_tile "tile47" "(setq pt1 "@300")(setq s (strcat s pt1))(setq n (+ n 2))(set_tile "tile0" s)")
  78.         (action_tile "accept" "(done_dialog 1)")
  79.         (start_dialog)
  80.         (unload_dialog dcl_id)
  81. )

  82. ;;-----------------------------------------------------------------------------

  83. (defun DCL-XZ-dcl (/ lst_str str file f)
  84.         (setq lst_str '(
  85.                   " dhxz:dialog {"
  86.                   " label="请给出文字或进行选择(编者:陈传建):?";"
  87.                   "  initial_focus=tile0;"
  88.                   " :boxed_radio_row {"
  89.                   "   label="文字内容为= :";"
  90.                   "    :edit_box {"
  91.                   "      key="tile0";"
  92.                   "      value="";"
  93.                   "      allow_accept=true;"
  94.                   "    }"
  95.                   "  }"
  96.                   " :boxed_radio_row {  "
  97.                   "   :radio_button {"
  98.                   "   label=".";"
  99.                   "   key="tile24";"
  100.                   "   }"
  101.                   "   :radio_button {"
  102.                   "   label="±";"
  103.                   "   key="tile11";"
  104.                   "   }"
  105.                   "   :radio_button {"
  106.                   "   label="%";"
  107.                   "   key="tile12";"
  108.                   "   }"
  109.                   "   :radio_button {"
  110.                   "   label="=";"
  111.                   "   key="tile13";"
  112.                   "   }"
  113.                   "   :radio_button {"
  114.                   "   label="一级筋";"
  115.                   "   key="tile14";"
  116.                   "   }"
  117.                   "   :radio_button {"
  118.                   "   label="二级筋";"
  119.                   "   key="tile15";"
  120.                   "   }"
  121.                   "   :radio_button {"
  122.                   "   label="三级筋";"
  123.                   "   key="tile48";"
  124.                   "   }"  
  125.                   "  }"
  126.                   " :row {"
  127.                   "   label="数字= :";"
  128.                   "   :radio_button {"
  129.                   "   label="0";"
  130.                   "   key="tile10";"
  131.                   "   }"
  132.                   "   :radio_button {"
  133.                   "   label="1";"
  134.                   "   key="tile1";"
  135.                   "   }"
  136.                   "   :radio_button {"
  137.                   "   label="2";"
  138.                   "   key="tile2";"
  139.                   "   }"
  140.                   "   :radio_button {"
  141.                   "   label="3";"
  142.                   "   key="tile3";"
  143.                   "   }"
  144.                   "   :radio_button {"
  145.                   "   label="4";"
  146.                   "   key="tile4";"
  147.                   "   }"
  148.                   "   :radio_button {"
  149.                   "   label="5";"
  150.                   "   key="tile5";"
  151.                   "   }"
  152.                   "   :radio_button {"
  153.                   "   label="6";"
  154.                   "   key="tile6";"
  155.                   "   }"
  156.                   "   :radio_button {"
  157.                   "   label="7";"
  158.                   "   key="tile7";"
  159.                   "   }"
  160.                   "   :radio_button {"
  161.                   "   label="8";"
  162.                   "   key="tile8";"
  163.                   "   }"
  164.                   "   :radio_button {"
  165.                   "   label="9";"
  166.                   "   key="tile9";"
  167.                   "   }"
  168.                   "  }"
  169.                   " :row {"
  170.                   "   label="常用符号= :";"
  171.                   " :column {"
  172.                   "   :radio_button {"
  173.                   "   label="±0.000";"
  174.                   "   key="tile26";"
  175.                   "   }"
  176.                   "   :radio_button {"
  177.                   "   label="@100";"
  178.                   "   key="tile27";"
  179.                   "   }"
  180.                   "   :radio_button {"
  181.                   "   label="@120";"
  182.                   "   key="tile28";"
  183.                   "   }"
  184.                   "   :radio_button {"
  185.                   "   label="@150";"
  186.                   "   key="tile29";"
  187.                   "   }"
  188.                   "   :radio_button {"
  189.                   "   label="@200";"
  190.                   "   key="tile30";"
  191.                   "   }"
  192.                   "   :radio_button {"
  193.                   "   label="@250";"
  194.                   "   key="tile31";"
  195.                   "   }"
  196.                   "  }"
  197.                   " :column {"
  198.                   "   :radio_button {"
  199.                   "   label="GL";"
  200.                   "   key="tile43";"
  201.                   "   }"
  202.                   "   :radio_button {"
  203.                   "   label="XGL";"
  204.                   "   key="tile44";"
  205.                   "   }"
  206.                   "   :radio_button {"
  207.                   "   label="WL";"
  208.                   "   key="tile45";"
  209.                   "   }"
  210.                   "   :radio_button {"
  211.                   "   label="TY";"
  212.                   "   key="tile46";"
  213.                   "   }"
  214.                   "   :radio_button {"
  215.                   "   label="@300";"
  216.                   "   key="tile47";"
  217.                   "   }"
  218.                   "  }"
  219.                   " :column {"
  220.                   "   :radio_button {"
  221.                   "   label="JQL";"
  222.                   "   key="tile38";"
  223.                   "   }"
  224.                   "   :radio_button {"
  225.                   "   label="YP";"
  226.                   "   key="tile39";"
  227.                   "   }"
  228.                   "   :radio_button {"
  229.                   "   label="XB";"
  230.                   "   key="tile40";"
  231.                   "   }"
  232.                   "   :radio_button {"
  233.                   "   label="LL";"
  234.                   "   key="tile41";"
  235.                   "   }"
  236.                   "   :radio_button {"
  237.                   "   label="JC";"
  238.                   "   key="tile42";"
  239.                   "   }"
  240.                   "  }"
  241.                   " :column {"
  242.                   "   :radio_button {"
  243.                   "   label="@";"
  244.                   "   key="tile16";"
  245.                   "   }"
  246.                   "   :radio_button {"
  247.                   "   label=";";"
  248.                   "   key="tile17";"
  249.                   "   }"
  250.                   "   :radio_button {"
  251.                   "   label=",";"
  252.                   "   key="tile18";"
  253.                   "   }"
  254.                   "   :radio_button {"
  255.                   "   label=":";"
  256.                   "   key="tile19";"
  257.                   "   }"
  258.                   "   :radio_button {"
  259.                   "   label="(";"
  260.                   "   key="tile20";"
  261.                   "   }"
  262.                   "  }"
  263.                   " :column {"
  264.                   "   :radio_button {"
  265.                   "   label=")";"
  266.                   "   key="tile21";"
  267.                   "   }"
  268.                   "   :radio_button {"
  269.                   "   label="+";"
  270.                   "   key="tile22";"
  271.                   "   }"
  272.                   "   :radio_button {"
  273.                   "   label="-";"
  274.                   "   key="tile23";"
  275.                   "   }"
  276.                   "   :radio_button {"
  277.                   "   label="<";"
  278.                   "   key="tile32";"
  279.                   "   }"
  280.                   "   :radio_button {"
  281.                   "   label=">";"
  282.                   "   key="tile25";"
  283.                   "   }"
  284.                   "  }"
  285.                   " :column {"
  286.                   "   :radio_button {"
  287.                   "   label="*";"
  288.                   "   key="tile33";"
  289.                   "   }"
  290.                   "   :radio_button {"
  291.                   "   label="&#91;";"
  292.                   "   key="tile34";"
  293.                   "   }"
  294.                   "   :radio_button {"
  295.                   "   label="&#93;";"
  296.                   "   key="tile35";"
  297.                   "   }"
  298.                   "   :radio_button {"
  299.                   "   label="a";"
  300.                   "   key="tile36";"
  301.                   "   }"
  302.                   "   :radio_button {"
  303.                   "   label="#";"
  304.                   "   key="tile37";"
  305.                   "   }"
  306.                   "  }"
  307.                   "}"
  308.                   "  ok_cancel;"
  309.                   " }"
  310.                 )
  311.         )
  312.         (setq file (vl-filename-mktemp "DclTemp.dcl"))
  313.         (setq f (open file "w"))
  314.         (foreach str lst_str
  315.                 (princ "\n" f)
  316.                 (princ str f)
  317.         )
  318.         (close f)
  319.         ;;返回
  320.         file
  321. )

  322. ;;-------------------------------------------------------------------------

  323. (defun SSET( )
  324.         (setq oldos (getvar "OSMODE"))
  325.         (setq oldorh (getvar "ORTHOMODE"))
  326.         (setq oldsn (getvar "SNAPMODE"))
  327.         (setvar "OSMODE" 0) ;;;捕捉关闭
  328.         (setvar "ORTHOMODE" 0) ;;;正交关闭
  329.         (setvar "SNAPMODE" 0);;;;实体捕捉关闭
  330.         (setvar "CMDECHO" 0)
  331.         (setvar "TEXTEVAL" 1)
  332. )

  333. ;;---------------------------------------------------------------------------
  334. (defun SSET1( )
  335.         (setvar "ORTHOMODE" oldorh)  ;;;恢复正交
  336.         (setvar "OSMODE" oldos)  ;;;恢复正交
  337.         (setvar "SNAPMODE" oldsn) ;;;;恢复实体捕捉   
  338.         (setvar "CMDECHO" 1)
  339. )
  340. ;;----------------------------------------------------------------------------

  341. (defun XZ ( )
  342.         (SSET)
  343.         (setq p (strlen pt2))
  344.         (setq pt4 (polar pt1 ang p))
  345.         (setq pt3 (polar pt1 (+ ang pi) p))
  346.         (setvar "TEXTSTYLE" style)
  347.         (command "TEXT" pt3 3.0 ang pt2)
  348.         (setvar "TEXTSTYLE" "STANDARD")
  349.         (command "MOVE" (entlast) "" pt1 pause"")
  350.         (entupd (entlast))
  351.         (SSET1)
  352. )

  353. ;;;--------------------------------------------------------------------
  354. (defun C:SUAN-XZ(/ s n pt1 pt2 pt3 pt4 pt5 pt6 k1 k2 k3 dis ang p)
  355.   (setq style "STANDARD")
  356.   (DCLXZ)
  357.   (ENTS)
  358.   (setq pt2 S)
  359.   (setq ang (atof(angtos ang 0)))
  360.         (setvar "TEXTSTYLE" style)
  361.         (command "TEXT" pt5 3.0 ang pt2)
  362.         (setvar "TEXTSTYLE" "STANDARD")
  363.         (command "MOVE" (entlast) "" pt5 pause"")
  364.         (entupd (entlast))
  365.         (SSET1)
  366. )

  367. ;;-------------------------------------------------------------------

  368. (defun C:XZP(/ s n ang style pt1 pt2 pt3 pt4 p)
  369.         (DCLXZ)
  370.         (setq pt2 s)
  371.         (setq pt1 (nth 1 (grread 5)))
  372.         (setq ang 0)
  373.         (setq style "STANDARD")
  374.         (XZ)
  375. )

  376. ;;--------------------------------------------------------------------------

  377. (defun C:XZC(/ s n ang style pt1 pt2 pt3 pt4 p)
  378.         (DCLXZ)
  379.         (setq pt2 s)
  380.         (setq pt1 (nth 1 (grread 5)))
  381.         (setq ang 90)
  382.         (setq style "STANDARD")
  383.         (XZ)
  384. )

  385. ;;-----------------------------------------------------------------------
  386. ;;---------------------------------------------------------------------------------
  387. (defun C:XHZ(/ h1 ang s sl pt1 pt2 pt3 pt4 pt5 p p1 p2 k3 sty what_next)
  388.         (gc)
  389.         (if (or (not dcl_id1) (< (setq dcl_id1(load_dialog (xhz-dcl))) 0))
  390.                 (setq dcl_id1(load_dialog (xhz-dcl)))
  391.   )
  392.   (if (not (new_dialog "xhz1" dcl_id1))
  393.                 (exit)
  394.   )   
  395.   (setq what_next 3)
  396.         (while (< 2 what_next)
  397.           (action_tile "tile0" "(setq s1 $value)")
  398.           (action_tile "tile1" "(set_tile "tileh" "8")")
  399.           (action_tile "tile2" "(set_tile "tileh" "10")")
  400.           (action_tile "tile3" "(set_tile "tileh" "20")")
  401.           (action_tile "tile4" "(done_dialog 4)")
  402.           (action_tile "tile5" "(set_tile "tilea" "90")")
  403.           (action_tile "tile6" "(set_tile "tilea" "-90")")
  404.           (action_tile "tile8" "(set_tile "tile7" "HZ")")
  405.           (action_tile "tile9" "(set_tile "tile7" "XZ")")
  406.           (action_tile "accept" "(setq h1 (atof(get_tile "tileh")))(setq ang (/ (* pi (atof(get_tile "tilea"))) 180))(setq sty (get_tile "tile7"))(done_dialog 1)")
  407.           (action_tile "tilec" "(done_dialog 5)")
  408.           (action_tile "tilepm" "(done_dialog 6)")
  409.           (action_tile "tilelp" "(done_dialog 7)")
  410.           (action_tile "tilezb" "(done_dialog 8)")
  411.           (setq what_next (start_dialog))
  412.                 (cond ((= what_next 4)                                
  413.                                 (new_dialog "xhz1" dcl_id1)
  414.                                 (setq h1 (atof(get_tile "tileh")))
  415.                                 (setq sty (get_tile "tile7"))           
  416.                                 (done_dialog 1)
  417.                                 (setq pt1 (entsel "\n请选择文字写线的实体线?:"))
  418.                                 (setq pt2 (nth 1 pt1))
  419.                                 (setq pt3 (nth 0 pt1))
  420.                                 (setq k3 (osnap pt2 "NEAR"))
  421.                                 (setq pt4 (osnap k3 "ENDPOINT"))
  422.                                 (setq pt5 (osnap k3 "MIDPOINT"))
  423.                                 (setq ang (angle pt5 pt4))
  424.                                 (setq pt1 (nth 1 (grread 5)))
  425.                                 (setvar "CMDECHO" 0)
  426.                                 (setvar "TEXTEVAL" 1)
  427.                                 (setq p (strlen s1))
  428.                                 (setq pt3 (polar pt1 ang p))
  429.                                 (setq pt4 (polar pt1 (+ ang pi) p))
  430.                                 (setvar "TEXTSTYLE" sty)
  431.                                 (command "TEXT" "J" "F" pt3 pt4 h1 s1)
  432.                                 (setvar "TEXTSTYLE" "STANDARD")
  433.                                 (command "MOVE" (entlast) "" pt1 pause"")
  434.                                 (entupd (entlast))
  435.                                 (setvar "CMDECHO" 1)
  436.                                 (unload_dialog dcl_id1)
  437.                                 (exit)
  438.                         )
  439.                         ((= what_next 5)
  440.                                 (dclxz)
  441.                                 (new_dialog "xhz1" dcl_id1)
  442.                                 (set_tile "tile0" (strcat s1 s))
  443.                                 (setq what_next 3)
  444.                         )
  445.                         ((= what_next 6)
  446.                                 (dclpm)
  447.                                 (new_dialog "xhz1" dcl_id1)
  448.                                 (set_tile "tile0" (strcat s1 s))
  449.                                 (setq what_next 3)
  450.                         )
  451.                         ((= what_next 7)
  452.                                 (dcllp)
  453.                                 (new_dialog "xhz1" dcl_id1)
  454.                                 (set_tile "tile0" (strcat s1 s))
  455.                                 (setq what_next 3)
  456.                         )
  457.                         ((= what_next 8)
  458.                                 (dclzb)
  459.                                 (new_dialog "xhz1" dcl_id1)
  460.                                 (set_tile "tile0" (strcat s1 s))
  461.                                 (setq what_next 3)
  462.                         )
  463.                 )   
  464.   )
  465.   (unload_dialog dcl_id1)
  466.   (setvar "CMDECHO" 0)
  467.   (if(/= s1 "")  
  468.                 (progn
  469.                         (setq pt1 (getpoint " \n请在屏幕上给出一点?:"))            
  470.                         (setvar "CMDECHO" 0)
  471.                         (setvar "TEXTEVAL" 1)
  472.                         (setq p (strlen s1))
  473.                         (setq pt4 (polar pt1 ang p))
  474.                         (setq pt3 (polar pt1 (+ ang pi) p))
  475.                         (setvar "TEXTSTYLE" sty)
  476.                         (command "TEXT" "J" "F" pt3 pt4 h1 s1)
  477.                         (setvar "TEXTSTYLE" "STANDARD")
  478.                         (command "MOVE" (entlast) "" pt1 pause"")
  479.                         (entupd (entlast))
  480.                         (setvar "CMDECHO" 1)                    
  481.                         (exit)                          
  482.                 )        
  483.         )  
  484.   (princ)
  485. )
  486. ;;----------------------------------------------------------------------
  487. (defun xhz-dcl (/ lst_str str file f)
  488.         (setq lst_str '(
  489.                   "xhz1:dialog {"
  490.                   " label="请给出有关文字及其参数(编者: 陈传建)?";"
  491.                   " initial_focus=tile0;"
  492.                   "  :boxed_row {"
  493.                   "   label="文字为= :";"
  494.                   "    :edit_box {"
  495.                   "      key="tile0";"
  496.                   "      value="";"
  497.                   "      allow_accept=true;"
  498.                   "    }"
  499.                   "  }"
  500.                   " :boxed_row {"
  501.                   "      ///DCL文件注释形式"
  502.                   "   :radio_button {"
  503.                   "   label="字符->";"
  504.                   "   key="tilec";"
  505.                   "   }"
  506.                   "   :radio_button {"
  507.                   "   label="平面->";"
  508.                   "   key="tilepm";"
  509.                   "   }"
  510.                   "   :radio_button {"
  511.                   "   label="立剖面->";"
  512.                   "   key="tilelp";"
  513.                   "   }"
  514.                   "   :radio_button {"
  515.                   "   label="住宅办公->";"
  516.                   "   key="tilezb";"
  517.                   "   }"  
  518.                   " }  "
  519.                   " :boxed_radio_row {"
  520.                   "  label="字高";"
  521.                   "   :edit_box {"
  522.                   "      key="tileh";"
  523.                   "      value="6";"
  524.                   "      allow_accept=true;"
  525.                   "    }"
  526.                   "   :radio_button {"
  527.                   "   label="8";"
  528.                   "   key="tile1";"
  529.                   "   }"
  530.                   "   :radio_button {"
  531.                   "   label="10";"
  532.                   "   key="tile2";"
  533.                   "   }"
  534.                   "   :radio_button {"
  535.                   "   label="20";"
  536.                   "   key="tile3";"
  537.                   "   }"
  538.                   "  }"
  539.                   " :boxed_radio_row {"
  540.                   "   label="字角度";"
  541.                   "   :edit_box {"
  542.                   "      key="tilea";"
  543.                   "      value="0";"
  544.                   "      allow_accept=true;"
  545.                   "    }"
  546.                   "   :radio_button {"
  547.                   "   label="选择直线<";"
  548.                   "   key="tile4";"
  549.                   "   }"
  550.                   "    :radio_button {"
  551.                   "   label="90";"
  552.                   "   key="tile5";"
  553.                   "   }"
  554.                   "   :radio_button {"
  555.                   "   label="-90";"
  556.                   "   key="tile6";"
  557.                   "   }"
  558.                   "  }"
  559.                   "   :boxed_radio_row {"
  560.                   "   label="文字字型";"
  561.                   "   :edit_box {"
  562.                   "      key="tile7";"
  563.                   "      value="STANDARD";"
  564.                   "      allow_accept=true;"
  565.                   "    }"
  566.                   "   :radio_button {"
  567.                   "   label="细体字";"
  568.                   "   key="tile8";"
  569.                   "   is_default=true;"
  570.                   "   }"
  571.                   "   :radio_button {"
  572.                   "   label="空心字";"
  573.                   "   key="tile9";"
  574.                   "   }"
  575.                   " } "
  576.                   "  ok_only;"
  577.                   "}"
  578.                 )
  579.         )
  580.         (setq file (vl-filename-mktemp "DclTemp.dcl"))
  581.         (setq f (open file "w"))
  582.         (foreach str lst_str
  583.                 (princ "\n" f)
  584.                 (princ str f)
  585.         )
  586.         (close f)
  587.         ;;返回
  588.         file
  589. )
  590. ;;----------------------------------------------------------------------
  591. (defun DCLPM( )
  592.   (if (or (not dcl_id) (< (setq dcl_id(load_dialog (dcl-pm))) 0))
  593.                 (setq dcl_id(load_dialog (dcl-pm))))
  594.   (if (not (new_dialog "dpm" dcl_id))(exit))
  595.         (action_tile "tile0" "(setq pt1 $value)(setq s pt1)(setq n (strlen pt1))")
  596.         (action_tile "tile1" "(setq pt1 "平面")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  597.         (action_tile "tile2" "(setq pt1 "大样")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  598.         (action_tile "tile3" "(setq pt1 "放大")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  599.         (action_tile "tile4" "(setq pt1 "单元")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  600.         (action_tile "tile5" "(setq pt1 "屋面")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  601.         (action_tile "tile6" "(setq pt1 "图")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  602.         (action_tile "tile7" "(setq pt1 "一")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  603.         (action_tile "tile8" "(setq pt1 "二")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  604.         (action_tile "tile9" "(setq pt1 "三")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  605.         (action_tile "tile10" "(setq pt1 "四")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  606.         (action_tile "tile11" "(setq pt1 "五")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  607.         (action_tile "tile12" "(setq pt1 "六")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  608.         (action_tile "tile13" "(setq pt1 "层")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  609.         (action_tile "tile14" "(setq pt1 "标准")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  610.         (action_tile "tile15" "(setq pt1 "单元")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  611.         (action_tile "tile16" "(setq pt1 "厨厕")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  612.         (action_tile "tile17" "(setq pt1 "组合")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  613.         (action_tile "tile18" "(setq pt1 "地下")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  614.         (action_tile "tile19" "(setq pt1 "透视")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  615.         (action_tile "tile20" "(setq pt1 "夹层")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  616.         (action_tile "tile21" "(setq pt1 "详图")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  617.         (action_tile "tile22" "(setq pt1 "总")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  618.         (action_tile "tile23" "(setq pt1 "屋面")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  619.         (action_tile "tile24" "(setq pt1 "排水")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  620.         (action_tile "tile25" "(setq pt1 "楼梯")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  621.         (action_tile "tile26" "(setq pt1 "七")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  622.         (action_tile "tile27" "(setq pt1 "八")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  623.         (action_tile "tile28" "(setq pt1 "九")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  624.         (action_tile "tile29" "(setq pt1 "十")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  625.         (action_tile "tile30" "(setq pt1 "示意")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  626.         (action_tile "tile31" "(setq pt1 "道路")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  627.         (action_tile "tile32" "(setq pt1 "绿化")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  628.         (action_tile "tile33" "(setq pt1 "土方")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  629.         (action_tile "tile34" "(setq pt1 "布置")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  630.         (action_tile "tile35" "(setq pt1 "墙身")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  631.         (action_tile "tile36" "(setq pt1 "规划")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  632.         (action_tile "tile37" "(setq pt1 "现状")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  633.         (action_tile "tile38" "(setq pt1 "竖向")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  634.         (action_tile "tile39" "(setq pt1 "设计")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  635.         (action_tile "tile40" "(setq pt1 "综合")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  636.         (action_tile "tile41" "(setq pt1 "管线")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  637.         (action_tile "tile42" "(setq pt1 "居住")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  638.         (action_tile "tile43" "(setq pt1 "指标")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  639.         (action_tile "tile44" "(setq pt1 "用地")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  640.         (action_tile "tile45" "(setq pt1 "位置")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  641.         (action_tile "tile46" "(setq pt1 "表")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  642.         (action_tile "tile47" "(setq pt1 "单")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  643.         (action_tile "tile48" "(setq pt1 "建筑")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  644.         (action_tile "tile49" "(setq pt1 "材料")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  645.         (action_tile "tile50" "(setq pt1 "报价")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  646.         (action_tile "tile51" "(setq pt1 "预算")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  647.         (action_tile "tile52" "(setq pt1 "梁")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  648.         (action_tile "tile53" "(setq pt1 "柱")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  649.         (action_tile "tile54" "(setq pt1 "门")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  650.         (action_tile "tile55" "(setq pt1 "窗")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  651.         (action_tile "tile56" "(setq pt1 "混凝土")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  652.         (action_tile "tile57" "(setq pt1 "钢")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  653.         (action_tile "tile58" "(setq pt1 "现浇板")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  654.         (action_tile "tile59" "(setq pt1 "结构")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  655.         (action_tile "tile60" "(setq pt1 "配筋")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  656.         (action_tile "accept" "(done_dialog 1)")
  657.         (start_dialog)
  658.         (unload_dialog dcl_id)
  659. )

  660. ;;----------------------------------------------------------------------

  661. (defun DCL-PM (/ lst_str str file f)
  662.         (setq lst_str '(
  663.                   " dpm:dialog {"
  664.                   " label="请给出文字或进行选择(编者:陈传建):?";"
  665.                   "  initial_focus=tile0;"
  666.                   " :boxed_radio_row {"
  667.                   "   label="文字内容为= :";"
  668.                   "    :edit_box {"
  669.                   "      key="tile0";"
  670.                   "      value="";"
  671.                   "      allow_accept=true;"
  672.                   "    }"
  673.                   "  }"
  674.                   " :boxed_radio_row {"
  675.                   "   :radio_button {"
  676.                   "   label="平面";"
  677.                   "   key="tile1";"
  678.                   "   }"
  679.                   "   :radio_button {"
  680.                   "   label="大样";"
  681.                   "   key="tile2";"
  682.                   "   }"
  683.                   "   :radio_button {"
  684.                   "   label="放大";"
  685.                   "   key="tile3";"
  686.                   "   }"
  687.                   "   :radio_button {"
  688.                   "   label="单元";"
  689.                   "   key="tile4";"
  690.                   "   }"
  691.                   "   :radio_button {"
  692.                   "   label="屋面";"
  693.                   "   key="tile5";"
  694.                   "   }"
  695.                   "   :radio_button {"
  696.                   "   label="图";"
  697.                   "   key="tile6";"
  698.                   "   }"
  699.                   "   :radio_button {"
  700.                   "   label="表";"
  701.                   "   key="tile46";"
  702.                   "   }"
  703.                   "   :radio_button {"
  704.                   "   label="单";"
  705.                   "   key="tile47";"
  706.                   "   }"
  707.                   "  }"
  708.                   " :boxed_radio_row {"
  709.                   "   label="楼层:";"
  710.                   "   :radio_button {"
  711.                   "   label="一";"
  712.                   "   key="tile7";"
  713.                   "   }"
  714.                   "   :radio_button {"
  715.                   "   label="二";"
  716.                   "   key="tile8";"
  717.                   "   }"
  718.                   "   :radio_button {"
  719.                   "   label="三";"
  720.                   "   key="tile9";"
  721.                   "   }"
  722.                   "   :radio_button {"
  723.                   "   label="四";"
  724.                   "   key="tile10";"
  725.                   "   }"
  726.                   "   :radio_button {"
  727.                   "   label="五";"
  728.                   "   key="tile11";"
  729.                   "   }"
  730.                   "   :radio_button {"
  731.                   "   label="六";"
  732.                   "   key="tile12";"
  733.                   "   }"
  734.                   "   :radio_button {"
  735.                   "   label="七";"
  736.                   "   key="tile26";"
  737.                   "   }"
  738.                   "   :radio_button {"
  739.                   "   label="八";"
  740.                   "   key="tile27";"
  741.                   "   }"
  742.                   "   :radio_button {"
  743.                   "   label="九";"
  744.                   "   key="tile28";"
  745.                   "   }"
  746.                   "   :radio_button {"
  747.                   "   label="十";"
  748.                   "   key="tile29";"
  749.                   "   }"
  750.                   "   :radio_button {"
  751.                   "   label="层";"
  752.                   "   key="tile13";"
  753.                   "   }"
  754.                   "  }"
  755.                         " :boxed_radio_row {"
  756.                   "   label="结构:";"
  757.                   "   :radio_button {"
  758.                   "   label="梁";"
  759.                   "   key="tile52";"
  760.                   "   }"
  761.                   "   :radio_button {"
  762.                   "   label="柱";"
  763.                   "   key="tile53";"
  764.                   "   }"
  765.                   "   :radio_button {"
  766.                   "   label="门";"
  767.                   "   key="tile54";"
  768.                   "   }"
  769.                   "   :radio_button {"
  770.                   "   label="窗";"
  771.                   "   key="tile55";"
  772.                   "   }"
  773.                   "   :radio_button {"
  774.                   "   label="混凝土";"
  775.                   "   key="tile56";"
  776.                   "   }"
  777.                   "   :radio_button {"
  778.                   "   label="钢";"
  779.                   "   key="tile57";"
  780.                   "   }"
  781.                   "   :radio_button {"
  782.                   "   label="现浇板";"
  783.                   "   key="tile58";"
  784.                   "   }"
  785.                   "   :radio_button {"
  786.                   "   label="结构";"
  787.                   "   key="tile59";"
  788.                   "   }"
  789.                   "   :radio_button {"
  790.                   "   label="配筋";"
  791.                   "   key="tile60";"
  792.                   "   }"
  793.                   "  }"
  794.                   " :row {"
  795.                   "   label="常用:";"
  796.                   " :column {"
  797.                   "   :radio_button {"
  798.                   "   label="标准";"
  799.                   "   key="tile14";"
  800.                   "   }"
  801.                   "   :radio_button {"
  802.                   "   label="单元";"
  803.                   "   key="tile15";"
  804.                   "   }"
  805.                   "   :radio_button {"
  806.                   "   label="厨厕";"
  807.                   "   key="tile16";"
  808.                   "   }"
  809.                   "   :radio_button {"
  810.                   "   label="组合";"
  811.                   "   key="tile17";"
  812.                   "   }"
  813.                   "  }"
  814.                   " :column {"
  815.                   "   :radio_button {"
  816.                   "   label="地下";"
  817.                   "   key="tile18";"
  818.                   "   }"
  819.                   "   :radio_button {"
  820.                   "   label="透视";"
  821.                   "   key="tile19";"
  822.                   "   }"
  823.                   "   :radio_button {"
  824.                   "   label="夹层";"
  825.                   "   key="tile20";"
  826.                   "   }"
  827.                   "   :radio_button {"
  828.                   "   label="详图";"
  829.                   "   key="tile21";"
  830.                   "   }"
  831.                   "  }"
  832.                   " :column {"
  833.                   "   :radio_button {"
  834.                   "   label="总";"
  835.                   "   key="tile22";"
  836.                   "   }"
  837.                   "   :radio_button {"
  838.                   "   label="屋面";"
  839.                   "   key="tile23";"
  840.                   "   }"
  841.                   "   :radio_button {"
  842.                   "   label="排水";"
  843.                   "   key="tile24";"
  844.                   "   }"
  845.                   "   :radio_button {"
  846.                   "   label="楼梯";"
  847.                   "   key="tile25";"
  848.                   "   }"
  849.                   "  }"
  850.                   " :column {"
  851.                   "   :radio_button {"
  852.                   "   label="示意";"
  853.                   "   key="tile30";"
  854.                   "   }"
  855.                   "   :radio_button {"
  856.                   "   label="道路";"
  857.                   "   key="tile31";"
  858.                   "   }"
  859.                   "   :radio_button {"
  860.                   "   label="绿化";"
  861.                   "   key="tile32";"
  862.                   "   }"
  863.                   "   :radio_button {"
  864.                   "   label="土方";"
  865.                   "   key="tile33";"
  866.                   "   }"
  867.                   "  }"
  868.                         " :column {"
  869.                   "   :radio_button {"
  870.                   "   label="布置";"
  871.                   "   key="tile34";"
  872.                   "   }"
  873.                   "   :radio_button {"
  874.                   "   label="墙身";"
  875.                   "   key="tile35";"
  876.                   "   }"
  877.                   "   :radio_button {"
  878.                   "   label="规划";"
  879.                   "   key="tile36";"
  880.                   "   }"
  881.                   "   :radio_button {"
  882.                   "   label="现状";"
  883.                   "   key="tile37";"
  884.                   "   }"
  885.                   "  }"
  886.                         " :column {"
  887.                   "   :radio_button {"
  888.                   "   label="竖向";"
  889.                   "   key="tile38";"
  890.                   "   }"
  891.                   "   :radio_button {"
  892.                   "   label="设计";"
  893.                   "   key="tile39";"
  894.                   "   }"
  895.                   "   :radio_button {"
  896.                   "   label="综合";"
  897.                   "   key="tile40";"
  898.                   "   }"
  899.                   "   :radio_button {"
  900.                   "   label="管线";"
  901.                   "   key="tile41";"
  902.                   "   }"
  903.                   "  }"
  904.                         " :column {"
  905.                   "   :radio_button {"
  906.                   "   label="居住";"
  907.                   "   key="tile42";"
  908.                   "   }"
  909.                   "   :radio_button {"
  910.                   "   label="指标";"
  911.                   "   key="tile43";"
  912.                   "   }"
  913.                   "   :radio_button {"
  914.                   "   label="用地";"
  915.                   "   key="tile44";"
  916.                   "   }"
  917.                   "   :radio_button {"
  918.                   "   label="位置";"
  919.                   "   key="tile45";"
  920.                   "   }"
  921.                   "  }"
  922.                         " :column {"
  923.                   "   :radio_button {"
  924.                   "   label="建筑";"
  925.                   "   key="tile48";"
  926.                   "   }"
  927.                   "   :radio_button {"
  928.                   "   label="材料";"
  929.                   "   key="tile49";"
  930.                   "   }"
  931.                   "   :radio_button {"
  932.                   "   label="报价";"
  933.                   "   key="tile50";"
  934.                   "   }"
  935.                   "   :radio_button {"
  936.                   "   label="预算";"
  937.                   "   key="tile51";"
  938.                   "   }"
  939.                   "  }"
  940.                   " }"  
  941.                   "  ok_cancel;"
  942.                   " }"
  943.           )
  944.         )
  945.         (setq file (vl-filename-mktemp "DclTemp.dcl"))
  946.         (setq f (open file "w"))
  947.         (foreach str lst_str
  948.                 (princ "\n" f)
  949.                 (princ str f)
  950.         )
  951.         (close f)
  952.         ;;返回
  953.         file
  954. )
  955. ;;---------------------------------------------------------

  956. (defun DCLLP( )
  957.   (if (or (not dcl_id) (< (setq dcl_id(load_dialog (dcl-lp))) 0))
  958.                 (setq dcl_id(load_dialog (dcl-lp))))
  959.   (if (not (new_dialog "dlp" dcl_id))(exit))
  960.         (action_tile "tile0" "(setq pt1 $value)(setq s pt1)(setq n (strlen pt1))")
  961.         (action_tile "tile1" "(setq pt1 "立面")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  962.         (action_tile "tile2" "(setq pt1 "剖面")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  963.         (action_tile "tile3" "(setq pt1 "东")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  964.         (action_tile "tile4" "(setq pt1 "西")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  965.         (action_tile "tile5" "(setq pt1 "南")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  966.         (action_tile "tile6" "(setq pt1 "北")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  967.         (action_tile "tile7" "(setq pt1 "正")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  968.         (action_tile "tile8" "(setq pt1 "侧")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  969.         (action_tile "tile9" "(setq pt1 "背")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  970.         (action_tile "tile10" "(setq pt1 "1-1")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  971.         (action_tile "tile11" "(setq pt1 "2-2")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  972.         (action_tile "tile12" "(setq pt1 "3-3")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  973.         (action_tile "tile13" "(setq pt1 "4-4")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  974.         (action_tile "tile14" "(setq pt1 "A-A")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  975.         (action_tile "tile15" "(setq pt1 "B-B")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  976.         (action_tile "tile16" "(setq pt1 "C-C")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  977.         (action_tile "tile17" "(setq pt1 "D-D")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  978.         (action_tile "tile18" "(setq pt1 "图")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  979.         (action_tile "accept" "(done_dialog 1)")
  980.         (start_dialog)
  981.         (unload_dialog dcl_id)
  982. )

  983. ;;----------------------------------------------------------------------

  984. (defun DCL-LP (/ lst_str str file f)
  985.         (setq lst_str '(
  986.                   " dlp:dialog {"
  987.                   " label="请给出文字或进行选择(编者:陈传建):?";"
  988.                   "  initial_focus=tile0;"
  989.                   " :boxed_radio_row {"
  990.                   "   label="文字内容为= :";"
  991.                   "    :edit_box {"
  992.                   "      key="tile0";"
  993.                   "      value="";"
  994.                   "      allow_accept=true;"
  995.                   "    }"
  996.                   "  }"
  997.                   " :boxed_radio_row {"
  998.                   "   :radio_button {"
  999.                   "   label="立面";"
  1000.                   "   key="tile1";"
  1001.                   "   }"
  1002.                   "   :radio_button {"
  1003.                   "   label="剖面";"
  1004.                   "   key="tile2";"
  1005.                   "   }"
  1006.                   "   :radio_button {"
  1007.                   "   label="东";"
  1008.                   "   key="tile3";"
  1009.                   "   }"
  1010.                   "   :radio_button {"
  1011.                   "   label="西";"
  1012.                   "   key="tile4";"
  1013.                   "   }"
  1014.                   "   :radio_button {"
  1015.                   "   label="南";"
  1016.                   "   key="tile5";"
  1017.                   "   }"
  1018.                   "   :radio_button {"
  1019.                   "   label="北";"
  1020.                   "   key="tile6";"
  1021.                   "   }"
  1022.                   "   :radio_button {"
  1023.                   "   label="正";"
  1024.                   "   key="tile7";"
  1025.                   "   }"
  1026.                   "   :radio_button {"
  1027.                   "   label="侧";"
  1028.                   "   key="tile8";"
  1029.                   "   }"
  1030.                   "   :radio_button {"
  1031.                   "   label="背";"
  1032.                   "   key="tile9";"
  1033.                   "   }"
  1034.                   "   :radio_button {"
  1035.                   "   label="图";"
  1036.                   "   key="tile18";"
  1037.                   "   }"
  1038.                   "  }"
  1039.                   " :boxed_radio_row {"
  1040.                   "   label="符号:";"
  1041.                   "   :radio_button {"
  1042.                   "   label="1-1";"
  1043.                   "   key="tile10";"
  1044.                   "   }"
  1045.                   "   :radio_button {"
  1046.                   "   label="2-2";"
  1047.                   "   key="tile11";"
  1048.                   "   }"
  1049.                   "   :radio_button {"
  1050.                   "   label="3-3";"
  1051.                   "   key="tile12";"
  1052.                   "   }"
  1053.                   "   :radio_button {"
  1054.                   "   label="4-4";"
  1055.                   "   key="tile13";"
  1056.                   "   }"
  1057.                   "   :radio_button {"
  1058.                   "   label="A-A";"
  1059.                   "   key="tile14";"
  1060.                   "   }"
  1061.                   "   :radio_button {"
  1062.                   "   label="B-B";"
  1063.                   "   key="tile15";"
  1064.                   "   }"
  1065.                   "   :radio_button {"
  1066.                   "   label="C-C";"
  1067.                   "   key="tile16";"
  1068.                   "   }"
  1069.                   "   :radio_button {"
  1070.                   "   label="D-D";"
  1071.                   "   key="tile17";"
  1072.                   "   }"
  1073.                   "   }"
  1074.                   "  ok_cancel;"
  1075.                   " }"
  1076.                 )
  1077.         )
  1078.         (setq file (vl-filename-mktemp "DclTemp.dcl"))
  1079.         (setq f (open file "w"))
  1080.         (foreach str lst_str
  1081.                 (princ "\n" f)
  1082.                 (princ str f)
  1083.         )
  1084.         (close f)
  1085.         ;;返回
  1086.         file
  1087. )
  1088. ;;------------------------------------------------------------
  1089. (defun DCLZB( )
  1090.   (if (or (not dcl_id) (< (setq dcl_id(load_dialog (dcl-zb))) 0))
  1091.                 (setq dcl_id(load_dialog (dcl-zb))))
  1092.   (if (not (new_dialog "dzb" dcl_id))(exit))
  1093.         (action_tile "tile0" "(setq pt1 $value)(setq s pt1)(setq n (strlen pt1))")
  1094.         (action_tile "tile1" "(setq pt1 "室")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1095.         (action_tile "tile2" "(setq pt1 "空间")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1096.         (action_tile "tile3" "(setq pt1 "示意")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1097.         (action_tile "tile4" "(setq pt1 "主")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1098.         (action_tile "tile5" "(setq pt1 "前")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1099.         (action_tile "tile6" "(setq pt1 "后")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1100.         (action_tile "tile7" "(setq pt1 "正")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1101.         (action_tile "tile8" "(setq pt1 "侧")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1102.         (action_tile "tile9" "(setq pt1 "间")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1103.         (action_tile "tile10" "(setq pt1 "门厅")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1104.         (action_tile "tile11" "(setq pt1 "卧室")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1105.         (action_tile "tile12" "(setq pt1 "起居")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1106.         (action_tile "tile13" "(setq pt1 "会客")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1107.         (action_tile "tile14" "(setq pt1 "餐厅")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1108.         (action_tile "tile15" "(setq pt1 "厨房")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1109.         (action_tile "tile16" "(setq pt1 "盥洗")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1110.         (action_tile "tile17" "(setq pt1 "卫生")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1111.         (action_tile "tile18" "(setq pt1 "厕所")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1112.         (action_tile "tile19" "(setq pt1 "书房")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1113.         (action_tile "tile20" "(setq pt1 "过厅")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1114.         (action_tile "tile21" "(setq pt1 "过道")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1115.         (action_tile "tile22" "(setq pt1 "走廊")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1116.         (action_tile "tile23" "(setq pt1 "储藏")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1117.         (action_tile "tile24" "(setq pt1 "楼梯")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1118.         (action_tile "tile25" "(setq pt1 "壁柜")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1119.         (action_tile "tile26" "(setq pt1 "冰箱")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1120.         (action_tile "tile27" "(setq pt1 "洗衣机")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1121.         (action_tile "tile28" "(setq pt1 "活动")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1122.         (action_tile "tile29" "(setq pt1 "会议")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1123.         (action_tile "tile30" "(setq pt1 "值班")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1124.         (action_tile "tile31" "(setq pt1 "办公")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1125.         (action_tile "tile32" "(setq pt1 "接待")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1126.         (action_tile "tile33" "(setq pt1 "休息")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1127.         (action_tile "tile34" "(setq pt1 "微机")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1128.         (action_tile "tile35" "(setq pt1 "打字")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1129.         (action_tile "tile36" "(setq pt1 "档案")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1130.         (action_tile "tile37" "(setq pt1 "电梯")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1131.         (action_tile "tile38" "(setq pt1 "财务")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1132.         (action_tile "tile39" "(setq pt1 "秘书")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1133.         (action_tile "tile40" "(setq pt1 "库房")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1134.         (action_tile "tile41" "(setq pt1 "写字")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1135.         (action_tile "tile42" "(setq pt1 "开水")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1136.         (action_tile "tile43" "(setq pt1 "洗消")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1137.         (action_tile "tile44" "(setq pt1 "消防")(setq s (strcat s pt1))(setq n (+ n 1))(set_tile "tile0" s)")
  1138.         (action_tile "accept" "(done_dialog 1)")
  1139.         (start_dialog)
  1140.         (unload_dialog dcl_id)
  1141. )

  1142. ;;----------------------------------------------------------------------

  1143. (defun DCL-ZB (/ lst_str str file f)
  1144.         (setq lst_str '(
  1145.                   " dzb:dialog {"
  1146.                   " label="请给出文字或进行选择(编者:陈传建):?";"
  1147.                   "  initial_focus=tile0;"
  1148.                   " :boxed_radio_row {"
  1149.                   "   label="文字内容为= :";"
  1150.                   "    :edit_box {"
  1151.                   "      key="tile0";"
  1152.                   "      value="";"
  1153.                   "      allow_accept=true;"
  1154.                   "    }"
  1155.                   "  }"
  1156.                   " :boxed_radio_row {"
  1157.                   "   :radio_button {"
  1158.                   "   label="室";"
  1159.                   "   key="tile1";"
  1160.                   "   }"
  1161.                   "   :radio_button {"
  1162.                   "   label="空间";"
  1163.                   "   key="tile2";"
  1164.                   "   }"
  1165.                   "   :radio_button {"
  1166.                   "   label="示意";"
  1167.                   "   key="tile3";"
  1168.                   "   }"
  1169.                   "   :radio_button {"
  1170.                   "   label="主";"
  1171.                   "   key="tile4";"
  1172.                   "   }"
  1173.                   "   :radio_button {"
  1174.                   "   label="前";"
  1175.                   "   key="tile5";"
  1176.                   "   }"
  1177.                   "   :radio_button {"
  1178.                   "   label="后";"
  1179.                   "   key="tile6";"
  1180.                   "   }"
  1181.                   "   :radio_button {"
  1182.                   "   label="正";"
  1183.                   "   key="tile7";"
  1184.                   "   }"
  1185.                   "   :radio_button {"
  1186.                   "   label="侧";"
  1187.                   "   key="tile8";"
  1188.                   "   }"
  1189.                   "   :radio_button {"
  1190.                   "   label="间";"
  1191.                   "   key="tile9";"
  1192.                   "   }"
  1193.                   "  }"
  1194.                   " :row {"
  1195.                   "   label="房间名:";"
  1196.                   "   :column {"  
  1197.                   "   :radio_button {"
  1198.                   "   label="门厅";"
  1199.                   "   key="tile10";"
  1200.                   "   }"
  1201.                   "   :radio_button {"
  1202.                   "   label="卧室";"
  1203.                   "   key="tile11";"
  1204.                   "   }"
  1205.                   "   :radio_button {"
  1206.                   "   label="起居";"
  1207.                   "   key="tile12";"
  1208.                   "   }"
  1209.                   "   :radio_button {"
  1210.                   "   label="会客";"
  1211.                   "   key="tile13";"
  1212.                   "   }"
  1213.                   "   :radio_button {"
  1214.                   "   label="餐厅";"
  1215.                   "   key="tile14";"
  1216.                   "   }"
  1217.                   "  }"
  1218.                   "   :column {"
  1219.                   "   :radio_button {"
  1220.                   "   label="厨房";"
  1221.                   "   key="tile15";"
  1222.                   "   }"
  1223.                   "   :radio_button {"
  1224.                   "   label="盥洗";"
  1225.                   "   key="tile16";"
  1226.                   "   }"
  1227.                   "   :radio_button {"
  1228.                   "   label="卫生";"
  1229.                   "   key="tile17";"
  1230.                   "   }"
  1231.                   "   :radio_button {"
  1232.                   "   label="厕所";"
  1233.                   "   key="tile18";"
  1234.                   "   }"
  1235.                   "   :radio_button {"
  1236.                   "   label="书房";"
  1237.                   "   key="tile19";"
  1238.                   "   }"
  1239.                   "   }"
  1240.                   "   :column {"  
  1241.                   "   :radio_button {"
  1242.                   "   label="过厅";"
  1243.                   "   key="tile20";"
  1244.                   "   }"
  1245.                   "   :radio_button {"
  1246.                   "   label="过道";"
  1247.                   "   key="tile21";"
  1248.                   "   }"
  1249.                   "   :radio_button {"
  1250.                   "   label="走廊";"
  1251.                   "   key="tile22";"
  1252.                   "   }"
  1253.                   "   :radio_button {"
  1254.                   "   label="储藏";"
  1255.                   "   key="tile23";"
  1256.                   "   }"
  1257.                   "   :radio_button {"
  1258.                   "   label="楼梯";"
  1259.                   "   key="tile24";"
  1260.                   "   }"
  1261.                   "  }"
  1262.                   "   :column {"  
  1263.                   "   :radio_button {"
  1264.                   "   label="壁柜";"
  1265.                   "   key="tile25";"
  1266.                   "   }"
  1267.                   "   :radio_button {"
  1268.                   "   label="冰箱";"
  1269.                   "   key="tile26";"
  1270.                   "   }"
  1271.                   "   :radio_button {"
  1272.                   "   label="洗衣机";"
  1273.                   "   key="tile27";"
  1274.                   "   }"
  1275.                   "   :radio_button {"
  1276.                   "   label="活动";"
  1277.                   "   key="tile28";"
  1278.                   "   }"
  1279.                   "   :radio_button {"
  1280.                   "   label="会议";"
  1281.                   "   key="tile29";"
  1282.                   "   }"
  1283.                   "  }"
  1284.                   "   :column {"  
  1285.                   "   :radio_button {"
  1286.                   "   label="值班";"
  1287.                   "   key="tile30";"
  1288.                   "   }"
  1289.                   "   :radio_button {"
  1290.                   "   label="办公";"
  1291.                   "   key="tile31";"
  1292.                   "   }"
  1293.                   "   :radio_button {"
  1294.                   "   label="接待";"
  1295.                   "   key="tile32";"
  1296.                   "   }"
  1297.                   "   :radio_button {"
  1298.                   "   label="休息";"
  1299.                   "   key="tile33";"
  1300.                   "   }"
  1301.                   "   :radio_button {"
  1302.                   "   label="微机";"
  1303.                   "   key="tile34";"
  1304.                   "   }"
  1305.                   "  }"   
  1306.                   "   :column {"  
  1307.                   "   :radio_button {"
  1308.                   "   label="打字";"
  1309.                   "   key="tile35";"
  1310.                   "   }"
  1311.                   "   :radio_button {"
  1312.                   "   label="档案";"
  1313.                   "   key="tile36";"
  1314.                   "   }"
  1315.                   "   :radio_button {"
  1316.                   "   label="电梯";"
  1317.                   "   key="tile37";"
  1318.                   "   }"
  1319.                   "   :radio_button {"
  1320.                   "   label="财务";"
  1321.                   "   key="tile38";"
  1322.                   "   }"
  1323.                   "   :radio_button {"
  1324.                   "   label="秘书";"
  1325.                   "   key="tile39";"
  1326.                   "   }"
  1327.                   "  }"   
  1328.                   "   :column {"  
  1329.                   "   :radio_button {"
  1330.                   "   label="库房";"
  1331.                   "   key="tile40";"
  1332.                   "   }"
  1333.                   "   :radio_button {"
  1334.                   "   label="写字";"
  1335.                   "   key="tile41";"
  1336.                   "   }"
  1337.                   "   :radio_button {"
  1338.                   "   label="开水";"
  1339.                   "   key="tile42";"
  1340.                   "   }"
  1341.                   "   :radio_button {"
  1342.                   "   label="洗消";"
  1343.                   "   key="tile43";"
  1344.                   "   }"
  1345.                   "   :radio_button {"
  1346.                   "   label="消防";"
  1347.                   "   key="tile44";"
  1348.                   "   }"
  1349.                   "  }"
  1350.                   "  }"   
  1351.                   "  ok_cancel;"
  1352.                   " }"
  1353.                 )
  1354.         )
  1355.         (setq file (vl-filename-mktemp "DclTemp.dcl"))
  1356.         (setq f (open file "w"))
  1357.         (foreach str lst_str
  1358.                 (princ "\n" f)
  1359.                 (princ str f)
  1360.         )
  1361.         (close f)
  1362.         ;;返回
  1363.         file
  1364. )
  1365. ;;----------------------------------------------------------------------
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-3 17:19 , Processed in 0.192292 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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