明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1116|回复: 8

[源码] 修改了一个DCL也合成lsp了,有些问题

[复制链接]
发表于 2022-9-30 20:25:33 | 显示全部楼层 |阅读模式
源码来自明经;
根据论坛修改了一个DCL也合成lsp了,但是按钮各方面无效,要怎样才能加入lsp点击按钮或输入命令执行呢,有没有前辈能整个例子学习一下


本帖子中包含更多资源

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

x

点评

你应该把dcl也发上来,这样方便合成  发表于 2022-10-1 10:46

评分

参与人数 1明经币 +1 收起 理由
baitang36 + 1 山寨

查看全部评分

发表于 2022-9-30 21:30:47 | 显示全部楼层
先学会 hello world  不好么

评分

参与人数 1明经币 +1 收起 理由
baitang36 + 1 淡定

查看全部评分

发表于 2022-9-30 21:45:45 | 显示全部楼层

点评

是学习资料吗?链接失效了  发表于 2022-10-1 10:42
发表于 2022-10-1 00:48:24 | 显示全部楼层
  1. (defun c:tt(/ dcl_xssl_dia getpt makexssldcl xy)
  2.         (defun makexssldcl  (/ lst_str str file f)
  3.                 (setq lst_str '(
  4.                                                                                  "xssl:dialog {"
  5.                                                                                  "    label = \"面板消失示例\" ;"
  6.                                                                                  "    :column {"
  7.                                                                                  "        :row {"
  8.                                                                                  "            :button {"
  9.                                                                                  "                key = \"b1\" ;"
  10.                                                                                  "                label = \"拾取坐标\" ;"
  11.                                                                                  "            }"
  12.                                                                                  "            :edit_box {"
  13.                                                                                  "                alignment = top ;"
  14.                                                                                  "                edit_width = 20 ;"
  15.                                                                                  "                is_enabled=false;"
  16.                                                                                  "                key = \"e1\" ;"
  17.                                                                                  "            }"
  18.                                                                                  "        }"
  19.                                                                                  "    }"
  20.                                                                                  "    :button {"
  21.                                                                                  "        is_cancel = true ;"
  22.                                                                                  "        key = \"cancel\" ;"
  23.                                                                                  "        label = \"确定\" ;"
  24.                                                                                  "    }"
  25.                                                                                  "}"
  26.                                                                          )
  27.                 )
  28.                 (setq file (vl-filename-mktemp "DclTemp.dcl"))
  29.                 (setq f (open file "w"))
  30.                 (foreach str lst_str
  31.                         (princ "\n" f)
  32.                         (princ str f)
  33.                 )       
  34.                 (close f)
  35.                 file
  36.         )
  37.         (defun cs(a b c d e f /)
  38.                         (print (list a b c d e f ))
  39.                 )
  40.                
  41.         (defun getpt( /)
  42.                 (setq
  43.                         pt(getpoint "\n指定点:")
  44.                         x(rtos (car pt)2 3)
  45.                         y(rtos (cadr pt)2 3)
  46.                         xy(strcat x","y)
  47.                 )
  48.                 (command "circle" pt 50)
  49.                 (setq ssa(ssadd (entlast) ssa))
  50.                 (set_tile "e1" xy)
  51.                 (dcl_xssl_dia)
  52.         )
  53.         (setq ssa(ssadd))
  54.         (defun dcl_xssl_dia()
  55.                 (setq xssl_dia(makexssldcl))
  56.                 (setq dcl_id(load_dialog xssl_dia))
  57.                 (new_dialog "xssl" dcl_id"" (cond (jypt) ( '(-1 -1) )))
  58.                 (or xy (setq xy ""))
  59.                 (set_tile "e1" xy)
  60.                 (action_tile "cancel""(setq jypt(done_dialog -1))")
  61.                 (action_tile "b1""(cs $key $VALUE $DATA $REASON $X $Y)(setq jypt(done_dialog 1))")
  62.                 (setq id(start_dialog))
  63.                 (unload_dialog dcl_id)
  64.                 (vl-file-delete xssl_dia)
  65.                 (cond
  66.                         ((= id 1)
  67.                                 (getpt)
  68.                         )
  69.                         ((= id -1)
  70.                                 (vl-cmdf "erase" ssa "")
  71.                                 (princ"\n退出程序!")
  72.                         )
  73.                 )
  74.         )
  75.         (dcl_xssl_dia)
  76.         (princ)
  77. )
发表于 2022-10-1 09:03:30 | 显示全部楼层
楼上说的对先学会 hello world ,不然修改现成的没什么意义
发表于 2022-10-1 10:48:57 | 显示全部楼层
你这个只是把dcl,改成lsp,并没有关联的部分,就是点击控件,执行对应lsp,也就是一个萝卜一个坑
发表于 2022-10-3 09:37:50 | 显示全部楼层
我会(print "\nHello Girls!")
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-15 22:38 , Processed in 0.191063 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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