明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3689|回复: 12

[源码] 一个自用块管理器的形状、形状、形状!

[复制链接]
发表于 2018-11-10 23:43:04 | 显示全部楼层 |阅读模式
本帖最后由 uvyx 于 2018-11-27 23:41 编辑

------------------------------------------------------------------------------------2018-11-10 第一阶段:
业余、业余、业余!!!+兴趣对大神来说,应该挺简单的,不过对我来说研究了好几天了!!我只不过是有时间有兴致的时候才弄.......多多包涵!!请大伙看一下那些地方可以改进、简化的!谢谢!!

  1. 记录@_#!记录@_#! 请多多指点!!
复制代码






------------------------------------------------------------------------------------2018-11-27 第二阶段:











本帖子中包含更多资源

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

x

评分

参与人数 3明经币 +3 收起 理由
自贡黄明儒 + 1 很给力!
Kye + 1 自己动手,敌励
USER2128 + 1 鼓励!

查看全部评分

发表于 2022-9-8 07:55:42 | 显示全部楼层
  1. (defun C:tt2 (/ dcl-image dialog do1 setdata  DCLID FILELST FNAME I IMGTXT KEY RETURN#)
  2.   (defun dcl-image (key x y file)
  3.     (start_image key)
  4.     (setq max_x  (dimx_tile key)
  5.     max_y  (dimy_tile key)
  6.     )
  7.     (slide_image
  8.       x
  9.       y
  10.       (- max_x x)
  11.       (- max_y y)
  12.       file
  13.     )
  14.     (end_image)
  15.   )
  16.   
  17.   (defun dialog  (/ FN I II)
  18.     (setq i -1)
  19.     (setq fname (vl-filename-mktemp nil nil ".dcl"))
  20.     (setq fn (open fname "w"))
  21.     (write-line
  22.       "tempDlg_1:dialog{label=\"PAi_Symbols图块\";spacer_1;"
  23.       fn
  24.     )
  25.     (repeat 4
  26.       (write-line " :row{" fn)
  27.       (setq ii i)
  28.       (repeat 8
  29.   (setq ii (1+ ii))
  30.   (write-line (strcat " :image_button{color=-2; width=16; aspect_ratio=0.66; key=\"Imgkey" (itoa ii) "\";allow_accept = true;}") fn)
  31.       )
  32.       (write-line " }" fn)

  33.       (write-line " :row{" fn)
  34.       (repeat 8
  35.   (setq i (1+ i))
  36.   (write-line (strcat " :text{label=\"Text\";  key=\"Txtkey" (itoa i) "\";allow_accept = true;}") fn)
  37.       )
  38.       (write-line " }" fn)
  39.     )
  40.     (write-line " :row{ok_cancel_help;}" fn)
  41.     (write-line " }" fn)

  42.     (close fn)
  43.     ;;(startapp "notepad" fname)
  44.   )

  45.   ;;fileLst库文件列表
  46.   (defun setdata ()
  47.     (setq i -1)
  48.     (mapcar (function
  49.         (lambda (x y)
  50.     (setq i (1+ i))
  51.     (set_tile (strcat "Txtkey" (itoa i)) x)
  52.     (dcl-image (strcat "Imgkey" (itoa i)) 0 0 y)
  53.         )
  54.       )
  55.       ImgTxt
  56.       fileLst
  57.     )
  58.   )
  59.   
  60.   ;;在这里,用根据key做不同的事情
  61.   (defun do1 ()
  62.     (cond ((equal key "Imgkey1") (alert key))
  63.     ((equal key "Imgkey2") (alert key))
  64.     ((equal key "Imgkey3") (alert key))
  65.     ((equal key "Imgkey4") (alert key))
  66.     )
  67.   )

  68.   (setq  ImgTxt
  69.    '("指北针"  "入户标志"   "区域名称"    "区域编号"
  70.      "区域指示"  "材料索引"   "物料索引"    "立面索引"
  71.      "剖面索引"  "剖面索引[V]"      "剖面索引[H]"
  72.      "详图索引"  "铺贴起始"   "铺贴倾斜"    "特殊符号"
  73.      "总图标高"  "平面标高"   "立面标高"    "详图标高"
  74.      "引注标高"  ""       ""      ""
  75.      ""    ""       ""      ""
  76.      ""    ""       ""      ""
  77.      ""
  78.     )
  79.   )
  80.   (setq  fileLst  (list "steelsec(1001eas)"
  81.           "steelsec(1002uas)"
  82.           "steelsec(1003gbgzgs)"
  83.           "steelsec(1004ybgzgs)"
  84.           "steelsec(1005gbchans)"
  85.           "steelsec(1006ybchans)"
  86.           "steelsec(1007chs)"
  87.           "steelsec(1008shs)"        ""
  88.           ""        ""        ""
  89.           ""        ""        ""
  90.           ""        ""        ""
  91.           ""        ""        ""
  92.           ""        ""        ""
  93.           ""        ""        ""
  94.           ""        ""        ""
  95.           ""        ""
  96.          )
  97.   )

  98.   
  99.   (dialog)
  100.   
  101.   (setq dclid (load_dialog fname))
  102.   (new_dialog "tempDlg_1" dclid)
  103.   (setdata)
  104.   (mapcar (function
  105.       (lambda (x)
  106.         (action_tile (strcat "Imgkey" (itoa x)) "(setq key $key)")
  107.       )
  108.     )
  109.     (list 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31)
  110.   )
  111.   (action_tile (strcat "Imgkey" (itoa 0)) "(setq key $key)")
  112.   (action_tile "accept" "(done_dialog 1)")
  113.   (setq return# (start_dialog))
  114.   (unload_dialog dclid)
  115.   
  116.   (vl-file-delete fname)  
  117.   (if (equal return# 1)
  118.     (do1)
  119.   )
  120.   (princ)
  121. )

本帖子中包含更多资源

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

x
发表于 2019-8-9 22:31:33 | 显示全部楼层
用法: (acad_strlsort <字符串列表>)
; 错误: *error* 函数中出错no function definition: SHOWALL
发表于 2022-9-7 14:01:38 | 显示全部楼层
维一个浩辰能打开界面的图库  不过会有卡住按扭的BUG
发表于 2018-11-11 22:38:05 | 显示全部楼层
大哥。。无图无真相啊!!!!
发表于 2018-11-16 11:24:27 | 显示全部楼层
好东西,下来使用下
发表于 2018-11-16 13:31:27 | 显示全部楼层
回复也太少了,继续加油!
发表于 2019-1-5 21:45:47 | 显示全部楼层
新手,只能膜拜!顶一下
发表于 2019-9-8 19:07:30 | 显示全部楼层
没有图啊,能不能发个GIF上来
发表于 2019-9-10 22:43:17 | 显示全部楼层

好东西,下来使用下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-5-15 11:31 , Processed in 0.196663 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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