乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 167|回复: 0

[编程交流] 风道; 计算,绘图。

[复制链接]

1

主题

1

帖子

0

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-9-23 21:48:14 | 显示全部楼层 |阅读模式
大家好,我是空调冷却技术员。
大约两年来,我一直在尝试学习 autolisp 并编写一个 autolisp 程序。我的程序是关于风管计算和绘图的。我将风道路线绘制为一条线。我在空气扩散器的地方写了空气流量。程序计算各部分的空气流量,根据等摩擦法调整大小,绘制模型空间。我希望用户能够为绘图选择一些参数。我为此创建了一个 DCL。零件编号(toogle),图层(popup_list)颜色(popup_list)文本高度(edit_box)。用户应该能够从这里设置他想要打印的文本的属性(图层、颜色、文本高度)。我想做的是:
1- 图层弹出列表应该是活动图形中的图层列表。
2- 颜色弹出列表应该类似于属性工具栏中的弹出窗口。
我会感谢任何可以提供帮助的人。谢谢你。
我的 dcl 代码:
  1. Cizparam : dialog {
  2.            label ="Çizim Parametreleri";
  3.            width = 30;
  4.           height = 20 ;
  5.          : boxed_column {
  6.            label ="Yazdırma Seçenekleri";
  7.            :row {
  8.            : column {
  9.            : row { : toggle { key = "Pndim_tog"; label = "Parça Numarası " ; alignment = centered ;}}
  10.            : row { : toggle { key = "Kndim_tog"; label = "Kanal Ebadı    " ; alignment = centered ;}}
  11.            : row { : toggle { key = "AFdim_tog"; label = "Hava Debisi    " ; alignment = centered ;}}
  12.            : row { : toggle { key = "Padim_tog"; label = "Basınc Kaybı   " ; alignment = centered ;}}
  13.            : row { : toggle { key = "Vldim_tog"; label = "Hava Hızı      " ; alignment = centered ;}}
  14.            : row { : toggle { key = "Ftdim_tog"; label = "Fittings Adı   " ; alignment = centered ;}}
  15.                        }
  16.            : column {            
  17.            : row { : popup_list { label = "Layer:" ;  key = "PnoLay_lst";  alignment = centered ; value = "1" ;}}
  18.            : row { : popup_list { label = "Layer:" ;  key = "KnELay_lst";  alignment = centered ; value = "0" ;}}
  19.            : row { : popup_list { label = "Layer:" ;  key = "AflLay_lst";  alignment = centered ; value = "0" ;}}
  20.            : row { : popup_list { label = "Layer:" ;  key = "PamLay_lst";  alignment = centered ; value = "0" ;}}
  21.            : row { : popup_list { label = "Layer:" ;  key = "VelLay_lst";  alignment = centered ; value = "0" ;}}
  22.            : row { : popup_list { label = "Layer:" ;  key = "FttLay_lst";  alignment = centered ; value = "0" ;}}
  23.                        }
  24.            : column {            
  25.            : row { : popup_list { label = "Color:" ;  key = "PnoClr_lst";  alignment = centered ; value = "8" ;}}
  26.            : row { : popup_list { label = "Color:" ;  key = "KnEClr_lst";  alignment = centered ; value = "8" ;}}
  27.            : row { : popup_list { label = "Color:" ;  key = "AflClr_lst";  alignment = centered ; value = "8" ;}}
  28.            : row { : popup_list { label = "Color:" ;  key = "PamClr_lst";  alignment = centered ; value = "8" ;}}
  29.            : row { : popup_list { label = "Color:" ;  key = "VelClr_lst";  alignment = centered ; value = "8" ;}}
  30.            : row { : popup_list { label = "Color:" ;  key = "FttClr_lst";  alignment = centered ; value = "8" ;}}
  31.                        }
  32.            : column {
  33.            : row { : edit_box { key = "Pno_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  34.            : row { : edit_box { key = "KnE_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  35.            : row { : edit_box { key = "Afl_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  36.            : row { : edit_box { key = "Pam_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  37.            : row { : edit_box { key = "Vel_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  38.            : row { : edit_box { key = "Ftt_eb";  label = "Yazı Yüksekliği :" ; edit_width = 3; fixed_width = true; allow_accept = false; alignment = centered ;}}
  39.                     }
  40.                }
  41.          : row {  width = 50; fixed_width = true; alignment = centered ;
  42.            : button { key = "Accept"; label = "Tamam"; width = 15; fixed_width = true; alignment = left; is_default = true; is_cancel = false; mnemonic = "T"; }
  43.            : button { key = "Cancel"; label = "Iptal"; width = 15; fixed_width = true; alignment = left; is_default = false; is_cancel = true; mnemonic = "I"; }
  44.            : button { key = "Hlp"; label = "Yardım"; width = 15; fixed_width = true; alignment = left; is_default = false; mnemonic = "Y"; }
  45.                }
  46.                          }
  47.          } // dialog end.


还有下面的这个程序。
  1. (defun c:Cpr ( / LayL ClrL Dclid_Cp CzPar)
  2.   (setq LayL (list "MK-HV Kanal SUPPLY" "MK-HV Kanal FRESH" "MK-HV Kanal RETURN" "MK-HV Kanal EGZOST" "MK-HV Kanal YAZI")
  3.         ClrL (list "ByLayer" "ByBlock" "1 Red" "2 Yellow" "3 Green" "4 Cyan" "5 Blue" "6 Magenta" "7 White" "Select Color..."))
  4.        
  5.   (setq Dclid_Cp (load_dialog "DrwParam.DCL"))
  6.    (if (not (new_dialog "Cizparam" Dclid_Cp))(exit)
  7.     (progn
  8.       (start_list "PnoLay_lst")(mapcar 'add_list LayL)(end_list)  ; Parça numarası yazısı layeri ( Part Number Text Layer)
  9.       (start_list "PnoClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Parça numarası yazı rengi ( Part number text layer color)
  10.       (start_list "KnELay_lst")(mapcar 'add_list LayL)(end_list)  ; Parça Ebadı yazısı ( Part Dimension Text Layer)
  11.       (start_list "KnEClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Parça Ebadı yazı rengi ( Part Dimension text layer color)
  12.       (start_list "AflLay_lst")(mapcar 'add_list LayL)(end_list)  ; Hava debisi yazısı ( Airvolume Text Layer)
  13.       (start_list "AflClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Hava debisi yazı rengi ( Airvolume text layer color)
  14.       (start_list "PamLay_lst")(mapcar 'add_list LayL)(end_list)  ; Basınc kaybı yazısı ( Pressure lose Text Layer)
  15.       (start_list "PamClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Basınc kaybı yazı rengi ( Pressure lose text layer color)
  16.       (start_list "VelLay_lst")(mapcar 'add_list LayL)(end_list)  ; Hava hızı yazısı ( AirVelocity Text Layer)
  17.       (start_list "VelClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Hava hızı yazı rengi ( AirVelocity text layer color)
  18.       (start_list "FttLay_lst")(mapcar 'add_list LayL)(end_list)  ; Fitingsno yazısı ( Fittings Number Text Layer)
  19.       (start_list "FttClr_lst")(mapcar 'add_list ClrL)(end_list)  ; Fitingsno yazı rengi ( Fittings Number text layer color)
  20.             
  21.       (action_tile "Accept" "(done_dialog 1)")
  22.       (action_tile "Cancel" "(done_dialog 0)")
  23.       (setq CzPar (start_dialog))
  24.       (unload_dialog Dclid_Cp)
  25.        (if (= CzPar 1) (alert "Çizim Parametreleri Kaydedildi.!!"))
  26.        (if (= CzPar 0) (alert "Çizim Parametreleri Kaydedilmedi.!!"))
  27.     )
  28.    )
  29. )



回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2024-11-22 01:27 , Processed in 0.218369 second(s), 54 queries .

© 2020-2024 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表