找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

[每日一码] 竖线改变

[复制链接]

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-8-22 18:08:19 | 显示全部楼层
csharp 发表于 2014-8-22 17:45
选择专家模式,直接编译就可以使用,将 slb 和 vlx 放到 Support 目录

谢谢回贴,这个编译是没有问题,我的真正目的还是希望学习把对话框写入到lisp当中!

点评

将 DCL 转为字串列表  详情 回复 发表于 2014-8-23 10:07
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-8-23 10:07:32 | 显示全部楼层
lucas3 发表于 2014-8-22 18:08
谢谢回贴,这个编译是没有问题,我的真正目的还是希望学习把对话框写入到lisp当中!

将 DCL 转为字串列表
  1. ;;将DCL表写出文件
  2. (defun dcl:make        (lst / flname ofile)
  3.   (setq        FlName (vl-filename-mktemp (strcat "FYDCL" ".dcl"))
  4.         oFile  (open FlName "w")
  5.   )
  6.   (foreach fStream lst (write-line fStream oFile)) ;写入文件
  7.   (close oFile) ;_关闭文档
  8.   flname
  9. )
  10. ;;by cabinsummer

  11. (defun c:rough (/      scl    value  prcs   DLG_ID llist  p1u         p2u
  12.                 p3u    pcu    ptu    pqy    p1d           p2d          p3d         pcd
  13.                 ptd    ename  era    erb    dra           drb          snappnt
  14.                 nearpnt              tag    code   ang           max_x  max_y         do
  15.                 p00    ra     rb     tmpfl strl
  16.                )
  17.   (defun do_list ()
  18.     (start_list "RV" 1)
  19.     (setq value (nth (atoi $value) llist))
  20.     (end_list)
  21.     (set_tile "error" (strcat "粗糙度为 Ra" value))
  22.   )
  23.   (defun myerr (msg)
  24.     (command "undo" "e")
  25.     (setvar "osmode" os)
  26.     (entdel ename)
  27.     (setq *error* olderr)
  28.   )
  29.   ;;
  30.   (setvar "cmdecho" 0)
  31.   (setq os (getvar "osmode"))
  32.   (setq olderr *error*)
  33.   (setq *error* myerr)
  34.   (setvar "osmode" 0)
  35.   (command "undo" "be")
  36.   (setq scl (getvar "dimscale"))
  37.   (setq value "3.2")
  38.   (setq prcs 1)
  39.   (setq        strl '("roughness:dialog{                  "
  40.                "label=\"粗糙度\";                  "
  41.                "spacer;                          "
  42.                ":row{                                  "
  43.                "  :column{                          "
  44.                "     :image_button{ key = \"RM\";"
  45.                "      aspect_ratio = 1;          "
  46.                "      width = 8;                  "
  47.                "      fixed_width = true;          "
  48.                "      color = -2;                  "
  49.                "      allow_accept = true;          "
  50.                "      }                          "
  51.                "     :image_button{                  "
  52.                "      key = \"UN\";                  "
  53.                "      aspect_ratio = 1;          "
  54.                "      width = 8;                  "
  55.                "      fixed_width = true;          "
  56.                "      color = -2;                  "
  57.                "      allow_accept = true;          "
  58.                "      }                          "
  59.                "     :image_button{ key = \"BS\";"
  60.                "      aspect_ratio = 1;          "
  61.                "      width = 8;                  "
  62.                "      fixed_width = true;          "
  63.                "      color = -2;                  "
  64.                "      allow_accept = true;          "
  65.                "     }                                  "
  66.                "   }                                  "
  67.                "   :list_box{                          "
  68.                "    key=\"RV\";                  "
  69.                "    value=8;                          "
  70.                "    width=16;                          "
  71.                "    height=14;                          "
  72.                "    allow_accept=true;                  "
  73.                "    }                                  "
  74.                "  }                                  "
  75.                "  :row{                          "
  76.                "    :errtile{                          "
  77.                "     width= 14;                  "
  78.                "     }                                  "
  79.                "    :edit_box{                          "
  80.                "     label = \"比例:\";          "
  81.                "     key = \"SC\";                  "
  82.                "     edit_width = 3;                  "
  83.                "     }                                     "
  84.                "   }                                  "
  85.                "    ok_cancel;                           "
  86.                "}                                  "
  87.               )
  88.   ) ;_DCL
  89.   (setq tmpfl (dcl:make strl)) ;_写出临时DCL

  90.   (setq DLG_ID (load_dialog tmpfl))
  91.   (new_dialog "roughness" DLG_ID)
  92.   ;;
  93.   (start_image "RM")
  94.   (setq        max_x (dimx_tile "RM")
  95.         max_y (dimy_tile "RM")
  96.   )
  97.   (slide_image
  98.     5
  99.     5
  100.     (- max_x 10)
  101.     (- max_y 10)
  102.     (strcat (findfile "rough.slb") "(RM)")
  103.   )

  104.   (end_image)
  105.   (start_image "UN")
  106.   (setq        max_x (dimx_tile "UN")
  107.         max_y (dimy_tile "UN")
  108.   )
  109.   (slide_image
  110.     5
  111.     5
  112.     (- max_x 10)
  113.     (- max_y 10)
  114.     (strcat (findfile "rough.slb") "(UN)")
  115.   )
  116.   (end_image)
  117.   (start_image "BS")
  118.   (setq        max_x (dimx_tile "BS")
  119.         max_y (dimy_tile "BS")
  120.   )
  121.   (slide_image
  122.     5
  123.     5
  124.     (- max_x 10)
  125.     (- max_y 10)
  126.     (strcat (findfile "rough.slb") "(BS)")
  127.   )
  128.   (end_image)
  129.   (setq        llist '(""         "0.025"  "0.05"   "0.1"    "0.2"    "0.4"
  130.                 "0.8"         "1.6"          "3.2"           "6.3"    "12.5"   "25"
  131.                 "50"
  132.                )
  133.   )
  134.   (start_list "RV")
  135.   (mapcar 'add_list llist)
  136.   (end_list)
  137.   (set_tile "RV" "8")
  138.   (set_tile "error" (strcat "粗糙度为 Ra3.2"))
  139.   (action_tile "RM" "(setq prcs 1)")
  140.   (action_tile "UN" "(setq prcs 2)")
  141.   (action_tile "BS" "(setq prcs 0)")
  142.   (action_tile "RV" "(do_list)")
  143.   (action_tile "accept" "(done_dialog 1)(setq do T)")
  144.   (action_tile "cancel" "(done_dialog 0)")
  145.   (start_dialog)
  146.   (unload_dialog DLG_ID)
  147.   (vl-file-delete tmpfl) ;_删除临时DCL

  148.   (if do
  149.     (progn
  150.       (setq p00 '(0.0 0.0 0.0))
  151.       (setq p1u '(2.3094 4.0 0.0))
  152.       (setq p2u '(-2.3094 4.0 0.0))
  153.       (setq p3u '(5.7735 10.0 0.0))
  154.       (setq pcu '(0.0 2.67 0.0))
  155.       (setq ptu '(0.0 6.5 0.0))
  156.       (setq p1d '(-2.3094 -4.0 0.0))
  157.       (setq p2d '(2.3094 -4.0 0.0))
  158.       (setq p3d '(-5.7735 -10.0 0.0))
  159.       (setq pcd '(0.0 -2.67 0.0))
  160.       (setq ptd '(0.0 -6.5 0.0))
  161.       (setq pqy '(-12.0 3.0 0.0))
  162.       (create_ra)
  163.       (create_rb)
  164.       (entdel erb)
  165.       (prompt "选择插入点")
  166.       (setq ename era)
  167.       (setq loop T)
  168.       (while loop
  169.         (setq code (grread T 8))
  170.         (cond
  171.           ((= (car code) 5) (do_move))
  172.           ((= (car code) 3) (do_left))
  173.           ((or (= (car code) 11) (= (car code) 25)) (do_right))
  174.           ((or (equal code '(2 97)) (equal code '(2 65))) (do_a))
  175.           ((or (equal code '(2 115)) (equal code '(2 83))) (do_s))
  176.         )
  177.       )
  178.     )
  179.   )
  180.   (setvar "osmode" os)
  181.   (command "undo" "e")
  182.   (setq *error* olderr)
  183.   (princ)
  184. )

  185. (defun do_a ()
  186.   (setq value (cadr (member value llist)))
  187.   (if value
  188.     (progn (refresh ra) (refresh rb))
  189.     (setq value "50")
  190.   )
  191. )
  192. (defun do_s ()
  193.   (setq value (cadr (member value (reverse llist))))
  194.   (if value
  195.     (progn (refresh ra) (refresh rb))
  196.     (setq value "")
  197.   )
  198. )

  199. (defun refresh (bname / kname edata)
  200.   (tblnext "block" T)
  201.   (while (/= (cdr (assoc 2 (setq kname (tblnext "block")))) bname)
  202.   )
  203.   (setq edata (entget (cdr (assoc -2 kname))))
  204.   (entmod (subst (cons 1 value) (assoc 1 edata) edata))
  205.   (entupd ename)
  206. )
  207. (defun create_ra ()
  208.   (entmake
  209.     (list '(0 . "BLOCK") '(10 0 0 0) '(70 . 1) '(2 . "*U"))
  210.   )
  211.   (entmake (list '(0 . "TEXT")
  212.                  (cons 10 p00)
  213.                  (cons 11 ptu)
  214.                  '(8 . "DIM")
  215.                  '(40 . 2.5)
  216.                  '(62 . 3)
  217.                  '(72 . 4)
  218.                  (cons 1 value)
  219.            )
  220.   )
  221.   (cond
  222.     ((= prcs 1)
  223.      (entmake (list '(0 . "LINE")
  224.                     (cons 10 p1u)
  225.                     (cons 11 p2u)
  226.                     '(8 . "DIM")
  227.               )
  228.      )
  229.     )
  230.     ((= prcs 2)
  231.      (entmake (list '(0 . "CIRCLE")
  232.                     (cons 10 pcu)
  233.                     '(40 . 1.33)
  234.                     '(8 . "DIM")
  235.               )
  236.      )
  237.     )
  238.   )
  239.   (entmake (list '(0 . "LINE")
  240.                  (cons 10 p00)
  241.                  (cons 11 p2u)
  242.                  '(8 . "DIM")
  243.            )
  244.   )
  245.   (entmake (list '(0 . "LINE")
  246.                  (cons 10 p00)
  247.                  (cons 11 p3u)
  248.                  '(8 . "DIM")
  249.            )
  250.   )
  251.   (setq ra (entmake '((0 . "ENDBLK"))))
  252.   (entmake (list '(0 . "INSERT")
  253.                  (cons 10 p00)
  254.                  (cons 41 scl)
  255.                  (cons 42 scl)
  256.                  (cons 2 ra)
  257.            )
  258.   )
  259.   (setq era (entlast))
  260.   (setq dra (entget era))
  261. )

  262. (defun create_rb ()
  263.   (entmake
  264.     (list '(0 . "BLOCK") '(10 0 0 0) '(70 . 1) '(2 . "*U"))
  265.   )
  266.   (entmake (list '(0 . "TEXT")
  267.                  (cons 10 p00)
  268.                  (cons 11 ptd)
  269.                  '(8 . "DIM")
  270.                  '(40 . 2.5)
  271.                  '(62 . 3)
  272.                  '(72 . 4)
  273.                  (cons 1 value)
  274.            )
  275.   )
  276.   (cond
  277.     ((= prcs 1)
  278.      (entmake (list '(0 . "LINE")
  279.                     (cons 10 p1d)
  280.                     (cons 11 p2d)
  281.                     '(8 . "DIM")
  282.               )
  283.      )
  284.     )
  285.     ((= prcs 2)
  286.      (entmake (list '(0 . "CIRCLE")
  287.                     (cons 10 pcd)
  288.                     '(40 . 1.33)
  289.                     '(8 . "DIM")
  290.               )
  291.      )
  292.     )
  293.   )
  294.   (entmake (list '(0 . "LINE")
  295.                  (cons 10 p00)
  296.                  (cons 11 p2d)
  297.                  '(8 . "DIM")
  298.            )
  299.   )
  300.   (entmake (list '(0 . "LINE")
  301.                  (cons 10 p00)
  302.                  (cons 11 p3d)
  303.                  '(8 . "DIM")
  304.            )
  305.   )
  306.   (setq rb (entmake '((0 . "ENDBLK"))))
  307.   (entmake (list '(0 . "INSERT")
  308.                  (cons 10 p00)
  309.                  (cons 41 scl)
  310.                  (cons 42 scl)
  311.                  (cons 2 rb)
  312.            )
  313.   )
  314.   (setq erb (entlast))
  315.   (setq drb (entget erb))
  316. )
  317. (defun do_left ()
  318.   (setq snappnt (cadr code))
  319.   (entdel ename)
  320.   (if (osnap snappnt "nea")
  321.     (progn
  322.       (entdel ename)
  323.       (create_ra)
  324.       (create_rb)
  325.       (entdel erb)
  326.       (setq ename era)
  327.     )
  328.     (progn
  329.       (entdel ename)
  330.       (setq dra (subst (cons 50 0.0) (assoc 50 dra) dra))
  331.       (setq dra        (subst (cons 41 (* 1.25 (cdr (assoc 41 dra))))
  332.                        (assoc 41 dra)
  333.                        dra
  334.                 )
  335.       )
  336.       (setq dra        (subst (cons 42 (* 1.25 (cdr (assoc 42 dra))))
  337.                        (assoc 42 dra)
  338.                        dra
  339.                 )
  340.       )
  341.       (entmod dra)
  342.       (entmake
  343.         (list
  344.           '(0 . "TEXT")
  345.           '(8 . "DIM")
  346.           '(10 0.0 0.0 0.0)
  347.           (cons 40 (* scl 5.0))
  348.           '(62 . 3)
  349.           '(72 . 4)
  350.           (cons        11
  351.                 (mapcar        '+
  352.                         (mapcar (function (lambda (x) (* scl x))) pqy)
  353.                         snappnt
  354.                 )
  355.           )
  356.           '(1 . "其余")
  357.         )
  358.       )
  359.       (setq loop nil)
  360.     )
  361.   )
  362. )
  363. (defun do_right        ()
  364.   (setq loop nil)
  365.   (entdel ename)
  366. )

  367. (defun do_move ()
  368.   (setq snappnt (cadr code))
  369.   (entdel ename)
  370.   (setq nearpnt (osnap snappnt "nea"))
  371.   (if nearpnt
  372.     (progn
  373.       (setq ang (angle nearpnt snappnt))
  374.       (cond
  375.         ((and (>= ang (/ pi 6.0)) (<= ang pi))
  376.          (setq ang (- ang (/ pi 2.0)))
  377.          (entdel era)
  378.          (setq ename era)
  379.          (setq dra (subst (cons 10 nearpnt) (assoc 10 dra) dra))
  380.          (setq nearpnt nil)
  381.          (setq dra (subst (cons 50 ang) (assoc 50 dra) dra))
  382.          (entmod dra)
  383.         )
  384.         ((or (= ang 0.0)
  385.              (and (> ang (* (/ pi 6.0) 7.0)) (< ang (* pi 2.0)))
  386.          )
  387.          (setq ang (+ ang (/ pi 2.0)))
  388.          (entdel erb)
  389.          (setq ename erb)
  390.          (setq drb (subst (cons 10 nearpnt) (assoc 10 drb) drb))
  391.          (setq nearpnt nil)
  392.          (setq drb (subst (cons 50 ang) (assoc 50 drb) drb))
  393.          (entmod drb)
  394.         )
  395.         (T
  396.          (entdel era)
  397.          (setq ename era)
  398.          (setq nearpnt nil)
  399.         )
  400.       )
  401.     )
  402.     (progn
  403.       (entdel era)
  404.       (setq ename era)
  405.       (setq dra (subst (cons 10 snappnt) (assoc 10 dra) dra))
  406.       (setq dra (subst (cons 50 0.0) (assoc 50 dra) dra))
  407.       (entmod dra)
  408.       (setq nearpnt nil)
  409.     )
  410.   )
  411. )

点评

Free-Lancer大师您好! 我按照您的方法改了一个,可是不成功了, 不知道哪里的问题,原来是三个文件,一个lisp, 一个dcl, 和一个ini文件 ,现在将lisp与DCL整合了,可是不成功,您帮我看看,谢谢! 另外,  详情 回复 发表于 2014-11-7 18:32
谢谢Free-Lancer大师,用文件比较查看了下,有三到四处修改过,慢慢研究,举一反三,哈哈。  详情 回复 发表于 2014-8-23 12:06

评分

参与人数 1D豆 +5 收起 理由
lucas3 + 5 技术引导讨论和指点奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-8-23 12:06:04 | 显示全部楼层
Free-Lancer 发表于 2014-8-23 10:07
将 DCL 转为字串列表

谢谢Free-Lancer大师,用文件比较查看了下,有三到四处修改过,慢慢研究,举一反三,哈哈。

点评

再复习下DCL  详情 回复 发表于 2014-8-23 16:06
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-8-23 16:06:13 | 显示全部楼层
lucas3 发表于 2014-8-23 12:06
谢谢Free-Lancer大师,用文件比较查看了下,有三到四处修改过,慢慢研究,举一反三,哈哈。

再复习下DCL
  1. (defun c:rough (/      scl    value  prcs   DLG_ID llist  p1u         p2u
  2.                 p3u    pcu    ptu    pqy    p1d           p2d          p3d         pcd
  3.                 ptd    ename  era    erb    dra           drb          snappnt
  4.                 nearpnt              tag    code   ang           max_x  max_y         do
  5.                 p00    ra     rb     tmpfl  slbname
  6.                )
  7.   (fy:begin)
  8.   (fy:setv "osmode" 0)
  9.   (setq        scl        (getvar "dimscale")
  10.         slbname        (findfile "rough.slb")
  11.         value        "3.2"
  12.         prcs        0
  13.         llist        '(""           "0.025"  "0.05"   "0.1"    "0.2"    "0.4"
  14.                   "0.8"           "1.6"    "3.2"    "6.3"    "12.5"   "25"
  15.                   "50"
  16.                  )
  17.         strl        '("roughness:dialog{                  "
  18.                   "label=\"粗糙度\";                  "
  19.                   "spacer;                          "
  20.                   ":row{                          "
  21.                   "  :column{                          "
  22.                   "     :image_button{ key = \"RM\";"
  23.                   "      aspect_ratio = 1;          "
  24.                   "      width = 8;                  "
  25.                   "      fixed_width = true;          "
  26.                   "      color = -2;                  "
  27.                   "      allow_accept = true;          "
  28.                   "      }                          "
  29.                   "     :image_button{                  "
  30.                   "      key = \"UN\";                  "
  31.                   "      aspect_ratio = 1;          "
  32.                   "      width = 8;                  "
  33.                   "      fixed_width = true;          "
  34.                   "      color = -2;                  "
  35.                   "      allow_accept = true;          "
  36.                   "      }                          "
  37.                   "     :image_button{ key = \"BS\";"
  38.                   "      aspect_ratio = 1;          "
  39.                   "      width = 8;                  "
  40.                   "      fixed_width = true;          "
  41.                   "      color = -2;                  "
  42.                   "      allow_accept = true;          "
  43.                   "     }                          "
  44.                   "   }                                  "
  45.                   "   :list_box{                  "
  46.                   "    key=\"RV\";                  "
  47.                   "    value=8;                          "
  48.                   "    width=16;                  "
  49.                   "    height=14;                  "
  50.                   "    allow_accept=true;          "
  51.                   "    }                          "
  52.                   "  }                                  "
  53.                   "  :row{                          "
  54.                   "    :errtile{                  "
  55.                   "     width= 14;                  "
  56.                   "     }                          "
  57.                   "    :edit_box{                  "
  58.                   "     label = \"比例:\";          "
  59.                   "     key = \"SC\";                  "
  60.                   "     edit_width = 3;                  "
  61.                   "     }                             "
  62.                   "   }                                  "
  63.                   "    ok_cancel;                  "
  64.                   "}                                  "
  65.                  )
  66.   ) ;_DCL
  67.   (setq        tmpfl  (dcl:make strl) ;_写出临时DCL
  68.         DLG_ID (dcl:load tmpfl "roughness")
  69.   )
  70.   ;;Dialog Initialize
  71.   (mapcar '(lambda (key fn)
  72.              (Dcl:SlideImage key fn 0)
  73.            )
  74.           '("RM" "UN" "BS")
  75.           (list        (strcat slbname "(RM)")
  76.                 (strcat slbname "(UN)")
  77.                 (strcat slbname "(BS)")
  78.           )
  79.   )
  80.   (Dcl:AddList "RV" llist 8)
  81.   (dcl:seterror (strcat "粗糙度为 Ra3.2"))
  82.   ;;Dialog Actions
  83.   (mapcar '(lambda (x)
  84.              (action_tile x "(setq prcs $key)")
  85.            )
  86.           '("RM" "UN" "BS")
  87.   )
  88.   ;;(action_tile "RV" "(do_list)")
  89.   (action_tile
  90.     "RV"
  91.     "(dcl:seterror (strcat \"粗糙度为 Ra\" (nth (atoi (get_tile \"RV\")) llist)))"
  92.   )
  93.   (action_tile "accept" "(done_dialog 1)(setq do T)")
  94.   (action_tile "cancel" "(done_dialog 0)")
  95.   ;;Strat Dialog
  96.   (start_dialog)
  97.   (unload_dialog DLG_ID)
  98.   (vl-file-delete tmpfl) ;_删除临时DCL
  99.   (if do
  100.     (progn
  101.       (setq p00        '(0.0 0.0 0.0)
  102.             p1u        '(2.3094 4.0 0.0)
  103.             p2u        '(-2.3094 4.0 0.0)
  104.             p3u        '(5.7735 10.0 0.0)
  105.             pcu        '(0.0 2.67 0.0)
  106.             ptu        '(0.0 6.5 0.0)
  107.             p1d        '(-2.3094 -4.0 0.0)
  108.             p2d        '(2.3094 -4.0 0.0)
  109.             p3d        '(-5.7735 -10.0 0.0)
  110.             pcd        '(0.0 -2.67 0.0)
  111.             ptd        '(0.0 -6.5 0.0)
  112.             pqy        '(-12.0 3.0 0.0)
  113.       )
  114.       (create_ra)
  115.       (create_rb)
  116.       (entdel erb)
  117.       (prompt "选择插入点")
  118.       (setq ename era
  119.             loop T
  120.       )
  121.       (while loop
  122.         (setq code (grread T 8))
  123.         (cond
  124.           ((= (car code) 5) (do_move))
  125.           ((= (car code) 3) (do_left))
  126.           ((or (= (car code) 11) (= (car code) 25)) (do_right))
  127.           ((or (equal code '(2 97)) (equal code '(2 65))) (do_a))
  128.           ((or (equal code '(2 115)) (equal code '(2 83))) (do_s))
  129.         )
  130.       )
  131.     )
  132.   )
  133.   (fy:end)
  134.   (princ)
  135. )

点评

Free-Lancer大师,我将 改成 之后,运行命令tcf后,什么也没有反应了,也不报错  详情 回复 发表于 2014-11-10 11:01
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-7 18:32:51 | 显示全部楼层
本帖最后由 lucas3 于 2014-11-10 11:31 编辑
Free-Lancer 发表于 2014-8-23 10:07
将 DCL 转为字串列表

Free-Lancer大师您好! 我按照您的方法改了一个,可是不成功了,{:soso_e109:} 不知道哪里的问题,原来是三个文件,一个lisp, 一个dcl, 和一个ini文件 ,现在将lisp与DCL整合了,可是不成功,您帮我看看,谢谢!


另外,能不能在lisp中写一点,就是不要那个单独的ini文件, 写到程序中,如果没有ini则建立一个ini , ini里的内容还是跟这个压缩文件里的一样.
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1268个

财富等级: 财源广进

发表于 2014-11-8 12:20:23 来自手机 | 显示全部楼层
xdapi将提供一个方便的函数,指定一个曲线做界限,围合一个范围点集,围合内的曲线端点自动延伸到界限曲线或被修剪
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-10 11:01:45 | 显示全部楼层

Free-Lancer大师,我将
  1.   (if (> (setq DLG_ID (load_dialog (findfile "tcfdc.dcl"))) 0)


改成
  1.   (if (> (setq DLG_ID (load_dialog "tcfdc.dcl")) 0)


之后,运行命令tcf后,什么也没有反应了,也不报错


  1.   (if (> (setq DLG_ID (load_dialog "tcfdc.dcl")) 0)
  2.     (while (and (/= result 1) (/= result 0))
  3.       (if (= do_what 3)
  4.         (tolib)
  5.       )
  6.       (if (new_dialog "teclib" DLG_ID)
  7.         (progn
  8.           (updlst "itemlist" crtlst)
  9.           (set_tile "itemlist" "0")
  10.           (set_tile "item" textstr)
  11.           (mode_tile "item" 2)
  12.           (mode_tile "up" 1)
  13.           (mode_tile "up0" 1)
  14.           (mode_tile "down0" 1)
  15.           (if (null crtlst0)(mode_tile "removelist" 1))
  16.           (action_tile "itemlist" "(do_list \"itemlist\")")
  17.           (action_tile "item" "(setq textstr $value)")
  18.           (action_tile "mdf" "(mdfitem)")
  19.           (action_tile "add" "(additem)")
  20.           (action_tile "del" "(delitem)")
  21.           (action_tile "up" "(upitem)")
  22.           (action_tile "down" "(downitem)")
  23.           (action_tile "itemlist0" "(do_list \"itemlist0\")")
  24.           (action_tile "addlist" "(addlist)")
  25.           (action_tile "removelist" "(removelist)")
  26.           (action_tile "up0" "(upitem0)")
  27.           (action_tile "down0" "(downitem0)")
  28.           (action_tile "pick" "(setq do_what 3)(done_dialog)")
  29.           (action_tile "accept" "(setq result 1)(done_dialog)")
  30.           (action_tile "cancel" "(setq result 0)(done_dialog 0)")
  31.           (start_dialog)
  32.         )
  33.       )
  34.     )
  35.   )


点评

发完整的上来,Lisp + dcl  详情 回复 发表于 2014-11-10 11:15
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-11-10 11:15:44 | 显示全部楼层
lucas3 发表于 2014-11-10 11:01
Free-Lancer大师,我将

改成

发完整的上来,Lisp + dcl



点评

谢谢大师LISP与DCL在 压缩文件中 , 可以正常运行 我将LISP与DCL整合后,不能运行了,这个是整合后的LISP 另个还有一个小小的要求 ,就是能不能在lisp中写一点,就是不要那个单独的ini文件, 写到程序中,如  详情 回复 发表于 2014-11-10 11:37
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-10 11:37:35 | 显示全部楼层
本帖最后由 lucas3 于 2014-11-10 15:34 编辑
Free-Lancer 发表于 2014-11-10 11:15
发完整的上来,Lisp + dcl

谢谢大师LISP与DCL在 压缩文件中 , 可以正常运行!我将LISP与DCL整合后,不能运行了

点评

把dcl打包进去,开始还要写出dcl文件,写出时要返回路径,这样程序中load_dialog时用全路径加载dcl文件  详情 回复 发表于 2014-11-10 12:26
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-10 12:26:59 来自手机 | 显示全部楼层
lucas3 发表于 2014-11-10 11:37
谢谢大师LISP与DCL在 压缩文件中 , 可以正常运行



把dcl打包进去,开始还要写出dcl文件,写出时要返回路径,这样程序中load_dialog时用全路径加载dcl文件

点评

全路径是什么? 绝对路径? 不用吧,没见过用绝过路径的,不是有(setq tcfdc (dcl:make strl)) 这一句吗?  详情 回复 发表于 2014-11-10 12:36
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-10 12:36:17 | 显示全部楼层
iLisp 发表于 2014-11-10 12:26
把dcl打包进去,开始还要写出dcl文件,写出时要返回路径,这样程序中load_dialog时用全路径加载dcl文件

全路径是什么? 绝对路径? 不用吧,没见过用绝过路径的,不是有(setq tcfdc (dcl:make strl))  这一句吗?

点评

你里面加载用的是 tcfdc 吗?  详情 回复 发表于 2014-11-10 12:58
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 264个

财富等级: 日进斗金

发表于 2014-11-10 12:58:01 来自手机 | 显示全部楼层
lucas3 发表于 2014-11-10 12:36
全路径是什么? 绝对路径? 不用吧,没见过用绝过路径的,不是有(setq tcfdc (dcl:make strl))  这一句吗?

你里面加载用的是 tcfdc 吗?

点评

是的,详见22#  详情 回复 发表于 2014-11-10 13:02
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3199个

财富等级: 富可敌国

发表于 2014-11-10 13:02:05 | 显示全部楼层
iLisp 发表于 2014-11-10 12:58
你里面加载用的是 tcfdc 吗?

是的,详见22#

点评

写出的位置不一定在 support 路径,所以加载不能用 dcl 文件名 (setq DLG_ID (load_dialog "tcfdc.dcl")) =〉 (setq DLG_ID (load_dialog tcfdc))  详情 回复 发表于 2014-11-10 13:48
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2014-11-10 13:48:38 | 显示全部楼层

写出的位置不一定在 support 路径,所以加载不能用 dcl 文件名

(setq DLG_ID (load_dialog "tcfdc.dcl"))
=〉
(setq DLG_ID (load_dialog tcfdc))


评分

参与人数 1D豆 +5 收起 理由
lucas3 + 5 大师一出手就决解问题啊!谢谢!谢谢!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 1094个

财富等级: 财源广进

发表于 2021-7-20 00:04:56 | 显示全部楼层
感谢楼主分享竖线改变
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-15 13:46 , Processed in 0.229964 second(s), 68 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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