igao视频网站_久久99精品久久久久久不卡_91精品国产自产91精品_午夜亚洲影视_成人羞羞国产免费软件动漫_男人插女人免费

使用Visual Lisp和Visual Studio實現照度計算

2023/10/21 17:23:37 人評論 次瀏覽 分類:電工基礎  文章地址:http://www.jinzhengkj.com.cn/tech/5127.html

在照明設計中,通常要計算照度,作為設計的依據。照度計算并不復雜,通過簡單的計算給出設計照度實際值。本文介紹使用Visual Lisp和Visual Studio實現照度計算并生成圖紙的方法。

1、照度計算依據

照度計算依據DLT5390-2014《發電廠和變電站照明設計技術規定》的附錄B:計算平均照度,對于點光源的計算,一般用的少,不單獨計算:
B.0.1 應用利用系數法計算平均展讀應按下式進行



式中:Ec為工作面的平均照度(1x);Φ為光源光通量(1m);N為光源數量 ;K為燈具維護系數,取決于房間的污穢等級、房間和燈具的清掃周期,可按本規定表7.0.4的規定取值;A為工作面面積(mm2);CU為利用系數,取決于室形指數和房間的反射情況,由燈具制造廠提供。。


2、Visual Lisp實現照度計算

①Lisp 由于用戶界面不是很靈活,數據取自excel表或直接從圖紙中取。
對于這個照度計算,數據只能取自圖紙,首先人工填入相關數據:



相關的基礎數據填入表格。


②計算程序:

(setq list_TQ nil)
                (setq Get_Text1 nil)    ;;;;;長
                (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 91)  0))
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 84)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_Long0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 84)  0))   ;;;;寬
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 77)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_Width0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 77)  0))  ;;;;高
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 70)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_Hihg0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 70)  0))  ;;;;被照面
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 63)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_hfe0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
               (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 63)  0))  ;;;;燈具高度
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 56)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_hre0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                 (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 56)  0))  ;;;;燈具數量
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 49)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_sum0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                 (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 49)  0))  ;;;;光通量
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 42)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_lm0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                 (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 42)  0))  ;;;功率
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 35)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_pw0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
               (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 35)  0))  ;;;;利用系數
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 28)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_cu0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))
                 (setq Point_list01 (list (* TK_Scale2 60) (* TK_Scale2 28)  0))  ;;;;維護系數
                (setq Point_list02 (list (* TK_Scale2 110) (* TK_Scale2 21)  0))
                (setq Point_list (append (list Point_list01) (list Point_list02)))
                (setq Get_k0  (get_Text_1 Point_list Point_Base0 ))
                (setq list_TQ  (cons Get_Text1 list_TQ))
                (setq list_TQ  (list (reverse list_TQ)))

 
                (setq Get_Long1 (atof  Get_Long0))
                (setq Get_Width1 (atof  Get_Width0))
           (setq Get_Hihg1 (atof  Get_Hihg0))
      (setq Get_hfe1 (atof  Get_hfe0))
 
                (setq Get_hre1 (atof  Get_hre0))
                (setq Get_sum1 (atof  Get_sum0))
           (setq Get_lm1 (atof  Get_lm0))
      (setq Get_pw1 (atof  Get_pw0))
                (setq Get_cu1 (atof  Get_cu0))
           (setq Get_k1 (atof  Get_k0))

                (setq Ec (/ (* Get_lm1 Get_sum1 Get_cu1 Get_k1) (* Get_Long1 Get_Width1)))
                (setq RI (/ (* Get_Long1 Get_Width1) (* Get_hre1 (+ Get_Long1 Get_Width1))))
      (setq PowerD (/ (* Get_sum1 Get_pw1 ) (* Get_Long1 Get_Width1)))
 
 
        (setq Get_obj_B1 nil)           
        (setq Point_list01 (list  (* TK_Scale2 110) (* TK_Scale2 14)  0))   ;;;平均照度
        (setq Point_list02 (list  (* TK_Scale2 60) (* TK_Scale2 21 ) 0))
        (setq Point_list nil)
        (setq Point_list (append (list Point_list01) (list Point_list02)))
        (setq Get_obj_B1  (get_obj_1 Point_list Point_Base0 ))
        (vla-put-TextString Get_obj_B1 (rtos Ec 2 2))
               (setq Get_obj_B1 nil)           
        (setq Point_list01 (list  (* TK_Scale2 110) (* TK_Scale2 7)  0))   ;;;室型指數
        (setq Point_list02 (list  (* TK_Scale2 60) (* TK_Scale2 14 ) 0))
        (setq Point_list nil)
        (setq Point_list (append (list Point_list01) (list Point_list02)))
        (setq Get_obj_B1  (get_obj_1 Point_list Point_Base0 ))
        (vla-put-TextString Get_obj_B1 (rtos RI 2 2))
              (setq Get_obj_B1 nil)           
        (setq Point_list01 (list  (* TK_Scale2 110) (* TK_Scale2 0)  0))   ;;;功率密度
        (setq Point_list02 (list  (* TK_Scale2 60) (* TK_Scale2 7 ) 0))
        (setq Point_list nil)
        (setq Point_list (append (list Point_list01) (list Point_list02)))
        (setq Get_obj_B1  (get_obj_1 Point_list Point_Base0 ))
        (vla-put-TextString Get_obj_B1 (rtos PowerD 2 2))
因為取數據設計圖紙的比例,因此計算相對比較復雜。

③計算結果:



計算后結果填入表格相關位置。


3、C#的實現方法

①C#通過視圖界面輸入數據:



②計算數據:

double HightB = House_Hith - House_HithB;
            Ec = (Light_Number * Light_lm * Factor_CU * Factor_K) / (House_Length * House_weith);
            Factor_K2 = (House_Length * House_weith) / (HightB * (House_Length + House_weith));
            Power_D = (Light_Number* Light_Power)/(House_Length * House_weith);

③添加圖紙:

AcadApp.ActiveDocument.Utility.Prompt("給定插入點:");
            insertionPoint = (double[])AcadApp.ActiveDocument.Utility.GetPoint();
            Function_CAD.InsertBlock(AcadApp, insertionPoint, "照度計算塊_100");
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] +8550 , House_Length.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700* 1 , House_weith.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 2, House_Hith.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 3, House_HithB.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 4, HightB.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 5, Light_Number.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 6, Light_lm.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 7, Light_Power.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 8, Factor_CU.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 9, Factor_K.ToString(), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 10, Ec.ToString("f2"), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 11, Factor_K2.ToString("f2"), 400, 0);
            Function_CAD.DrawText(AcadApp, insertionPoint[0] + 8110, insertionPoint[1] + 8550 - 700 * 12, Power_D.ToString("f2"), 400, 0);

④運行結果:



和Lisp計算的結果完全相同。


4、小結

對應復雜的運行和涉及大量原始數據的運算,使用Visual Studio具有明顯的優勢。直接取數計算,結果添加到圖形塊中,非常簡單。

相關閱讀
識別簡單標識選購符合光生物安全的學生LED燈

共有訪客發表了評論 網友評論

  客戶姓名:
郵箱或QQ:
驗證碼: 看不清楚?
主站蜘蛛池模板: 天堂中文在线最新版WWW | 麻豆少妇| 中文字幕第一页av | 中文字幕成熟丰满人妻 | 午夜嘿嘿嘿 | 久久综合色视频 | 国产亚洲美女精品久久久2020 | 久久久国产亚洲精品 | 春药刺激国产老富婆露脸 | 国产麻豆精品一区二区三区V视界 | 日韩欧美国产一区二区三区 | 日韩素人 | 成人国产精品高清在线观看 | 一级片久久久久久 | 阿v视频在线 | 中文字幕日本乱码仑区在线 | 欧美高潮失禁喷水呻吟日本视频 | 色综合久久中文娱乐网 | 日韩精品一区二区在线天天狠天 | 中文字幕无码人妻丝袜 | 久久一区二区三区精华液 | 777黄色 | 国产自产在线视频一区 | 国产一区精品在线 | 日韩三级黄片免费观看 | 国产精品俺来也在线观看 | 久久精品爱爱视频 | yyyy11111少妇无码影院 | 国产亚洲毛片在线 | 中文字幕无码精品亚洲资源网久久 | 美日韩一区二区 | 亚洲精品国产a | 亚洲a色| 黑人成人网 | 久久精品亚洲7777影院 | 国产性猛交粗暴力xxxx | 国产呦精品一区二区三区网站 | 亚洲AV女人的天堂在线观看 | gay取精潮喷10次 | 亚洲成人三级在线观看 | 特色特黄a毛片高清免费观看 |