• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Autolisp語言二次開發(fā)AutoCAD與市政道路常用圖的快速繪制的研究

      2018-08-18 05:46:28高會剛
      城市道橋與防洪 2018年8期
      關鍵詞:環(huán)境變量設計圖橫斷面

      高會剛

      (上海市城市建設設計研究總院(集團)有限公司,上海市200125)

      0 引言

      市政道路常用圖中的《路面結構圖》、《側緣石安裝大樣圖》、《路面搭接設計圖》及《道路橫斷面設計圖》,目前大多由設計人員手工繪圖。且前三個設計圖關聯(lián)程度較高,路面結構的調整往往涉及到三張圖紙的全部改動。另在市政片區(qū)路網(wǎng)建設前期工作中,路網(wǎng)道路分主干路、次干路、支路,縱橫交錯,不同的片區(qū)功能要求,不同的道路等級,甚至不同的走向道路,對道路橫斷面有不同要求,因而道路橫斷面方案的對比研究成為關鍵問題??焖賹I(yè)繪制多個橫斷面與建設方溝通研究成為決定項目可行性的重要過程,也是一個設計院專業(yè)水平的綜合體現(xiàn)。

      基于上述現(xiàn)實情況及目前專業(yè)軟件的空缺功能,本文主要通過對程序及子程序中的主要功能的使用方法的演示,來介紹如何利用Autolisp語言,對AutoCAD進行二次開發(fā)編程,將上述圖紙所需的參數(shù)以對話框形式呈現(xiàn)于設計者,而將繁瑣耗時的繪圖留給計算機來完成的實現(xiàn)路線,以供同行參考。

      1 程序總體規(guī)劃

      1.1 編程語言與環(huán)境

      目前設計公司的主要設計繪圖軟件為AutoCAD。而Autolisp語言作為AutoCAD的內嵌語言,具有語法簡單、快速編譯、調用AutoCAD內部命令方便、debug便捷,以及編譯界面友好等特點。故選擇Autolisp為編程語言,在AutoCAD環(huán)境下進行二次開發(fā)。

      1.2 程序總體流程規(guī)劃

      程序提供參數(shù)輸入集成對話框,設計者完成參數(shù)輸入修改后,選擇所需繪制圖紙,點擊確定,計算機完成繪圖,參見圖1。

      1.3 程序及所需主要子程序分析

      1.3.1 對話框程序

      此程序主要實現(xiàn)提供友好的交互界面(見圖1(step·1)參數(shù)輸入),方便設計者輸入相關參數(shù)。此程序需要以下子程序:

      (1)參數(shù)輸入對話框子程序:可由DCL(對話框控制語言)進行編譯,該語言同樣集成在AutoCAD中,語法較Autolisp更為簡單。

      (2)顯示SLD圖像子程序:主要解決橫斷面圖的SLD圖顯示,為設計者提供必要的參考。

      (3)參數(shù)與環(huán)境變量初始化子程序:主要解決AutoCAD的DCL對話框默認無記憶功能的問題。

      圖1 程序流程圖

      (4)對稱斷面控制輸入子程序:主要解決橫斷面圖對稱時參數(shù)的輸入,先顯斷面右側輸入對話框,并令右側數(shù)據(jù)與左側數(shù)據(jù)一致。

      (5)將環(huán)境變量賦值與對話框子程序:主要解決將對應的環(huán)境變量的值賦與對話框的相對應參數(shù)。

      1.3.2 對話框參數(shù)取值程序

      將DCL對話框中的參數(shù)轉換提取為后續(xù)繪制程序所需的格式。

      1.3.3 路面結構圖繪制程序

      此程序需要完成的步驟為依據(jù)層名稱與厚度繪制每一層的box、厚度的標注、層名的注釋文本、不同結構層的填充,見圖2。

      圖2 路面結構圖(單位:cm)

      1.3.4 側緣石安裝大樣圖繪制程序

      此程序需要完成的步驟為依據(jù)路面結構參數(shù)、側緣石參數(shù),依次繪制出側緣石安裝細部并標注尺寸寬度、路面結構層的繪制與注釋,見圖3。

      圖3 側石安裝細部圖(單位:cm)

      1.3.5 路面搭接設計圖繪制程序

      此程序需要完成的步驟為依據(jù)路面結構參數(shù)完成路面搭接繪圖、路面結構層的繪制與注釋,見圖4。

      圖4 路面搭接設計圖(單位:cm)

      1.3.6 道路橫斷面圖繪制程序

      此程序需要完成的為依據(jù)綠化帶寬度、側分帶寬度、人行道寬度與橫坡坡度、非機動車道寬度與橫坡坡度、車行道寬度與橫坡坡度,中央分隔帶寬度、側緣石的規(guī)格尺寸及外露高度等參數(shù),繪制道路橫斷面圖,并標注路幅寬度及文本注釋,見圖5。

      圖5 道路橫斷面圖(單位:m)

      1.3.7 其他子程序

      這里需要說明的是程序繪圖按照cm為單位1:1進行繪圖,通過布局視口布置,標準A3按比例出圖。根據(jù)上海市城市建設設計研究總院的制圖要求,需用指定的字體,字高,因而字體高度、標注樣式的全局比例等需要根據(jù)不同的圖定制。

      2 程序編譯

      2.1 公用子程序分析

      在“程序及所需主要子程序分析”一節(jié)中,可以看到關于路面結構繪制的子程序在路面結構圖、側緣石安裝大樣圖、路面搭接設計圖中都會使用。人們可以在編譯中,對路面結構圖繪制程序增加控制box寬度參數(shù)、層名注釋位置參數(shù),并將此子程序的編譯實現(xiàn)最大化的利用。

      對于各個公共子程序的分析會在下節(jié)“主要子程序的編譯”中詳細分析。通過拆解各個設計圖的繪制子程序的研究分析,編譯公共子程序,提高程序的適用性。

      2.2 主要子程序的編譯

      根據(jù)程序的整體交互流程及子程序的功能,將程序的子程序分為錄入部分(即參數(shù)的輸入);提取部分(即從對話框將使用者的輸入值統(tǒng)一提?。?;繪制部分(即利用提取的參數(shù)值進行繪圖)。

      2.2.1 錄入部分

      2.2.1.1 參數(shù)輸入對話框子程序

      參數(shù)輸入對話框子程序主要利用的為DCL語言 , 主 要 通 過 對 column、row、boxed_column 及boxed_row等排列函數(shù)的組合運用,完成集成對話框,為使用者提供友好的輸入界面。

      2.2.1.2 顯示SLD幻燈子程序

      在“參數(shù)輸入對話框子程序”中,人們使用了image函數(shù)。需要說明的是image函數(shù)僅僅是在對話框中布置了一個圖像的位置及大小,需要將圖像顯示出來則需要配合子程序,即顯示SLD幻燈子程序,見圖6。

      圖6 CAD界面

      2.2.1.3 參數(shù)與環(huán)境變量初始化子程序

      AutoCAD的DCL對話框默認無記憶功能,因此需要解決對話框的記憶問題,可以通過不同方法來實現(xiàn)。這里是介紹利用AutoCAD環(huán)境變量的方法來實現(xiàn)對話框記憶功能。因AutoCAD本身的問題,環(huán)境變量超過一定數(shù)量后不能與對話框函數(shù)同時進行,否則會報錯崩潰,該程序需要輸入77個參數(shù),故增加此子程序。

      通過if語句,生成環(huán)境變量并預設初始值。

      2.2.1.4 對稱斷面控制輸入子程序

      道路橫斷面一般為對稱斷面,為方便參數(shù)輸入,增加對稱控制。此子程序系主要配合DCL中的toggle函數(shù),根據(jù)toggle的key值判斷是否對稱輸入。

      2.2.1.5 環(huán)境變量賦值與對話框子程序

      主要負責提取環(huán)境變量并賦值給對話框內的相應參數(shù)。

      至此,程序所需的參數(shù)錄入部分的主要程序已完成。

      2.2.2 提取部分-對話框參數(shù)取值程序

      DCL對話框中的參數(shù)的類型為字符串,另該程序以cm為單位,比例1:1繪圖,因此對話框參數(shù)取值程序需要解決從對話框將字符串轉換、判斷參數(shù)輸入是否有誤、根據(jù)對話框輸入?yún)?shù)時的單位進行轉換及將新的參數(shù)值儲存于相應的環(huán)境變量內。

      2.2.3 繪制部分

      2.2.3.1 標注子程序

      此子程序含有三個參數(shù)分別為Gpt(標注位置)、Gpta(標注起點)、Gptb(標注終點)。通過entmake函數(shù)可以利用圖元定義數(shù)據(jù)表方便快捷地創(chuàng)建CAD對象。其中,(50.1.5708)為垂直標注,無此項為水平標注。

      2.2.3.2 box繪制子程序

      此子程序需根據(jù)層的名稱及厚度繪制對應的路面結構圖。為保證繪圖效率及準確性,對于層名及厚度的數(shù)據(jù)使用list格式:((第1層名稱4)(第2 層名稱 6)(第 3 層名稱 8)...)。

      2.2.3.3 側緣石繪制子程序

      側石、緣石及平石的參數(shù)類似,即長×寬×高,外露高度,倒角半徑。因此子程序的參數(shù)可以為長、寬、高、外露高度,程序的主要解決點在于控制繪制起始點為側緣平與路面的交點處,通過幾何關系完成其余代碼。

      2.2.3.4 側石安裝細部圖繪制子程序

      此子程序主要解決的問題為根據(jù)側石、平石、墊層厚度及相應的路面結構層厚的幾何關系繪圖。

      2.2.3.5 道路橫斷面圖繪制子程序

      不同的道路斷面,組成部分也不盡相同,程序的難點在于如何解決這個問題。在這里,筆者提供的解決方案為提供統(tǒng)一模板(如圖(step·1)參數(shù)輸入中的橫斷面示意圖),通過設置相應的部分的寬度來控制是否繪制。

      3 結論

      本文通過對市政道路常用圖紙的繪制程序的具體分析與介紹,其研究結論如下:

      (1)《路面結構圖》、《側緣石安裝大樣圖》、《路面搭接設計圖》及《道路橫斷面設計圖》通過編程可以實現(xiàn)計算機繪圖,效率提升。

      (2)設計圖中的標注樣式、字體樣式、字體高度、注釋文本的行間距等均在程序內設置,圖面整齊。

      (3)橫斷面圖中涉及到的車、人、樹、燈桿等素材,可根據(jù)設計公司的要求自行定制,形成自有特色的體系圖。

      (4)程序中關于填充樣式的子程序目前還不能解決全部種類的自動填充,需進一步學習研究。

      猜你喜歡
      環(huán)境變量設計圖橫斷面
      基于最大熵模型的云南思茅松潛在分布區(qū)
      城市道路橫斷面設計研究
      焊縫符號在機械設計圖上的標注
      從桌面右鍵菜單調用環(huán)境變量選項
      徹底弄懂Windows 10環(huán)境變量
      設計圖失竊案
      西夏的“炮”設計圖
      西夏研究(2017年4期)2017-08-17 08:53:02
      廣州市健康體檢人群種植修復情況的橫斷面研究
      只存在于設計圖上的虛幻建筑
      基于三階段DEA—Malmquist模型的中國省域城鎮(zhèn)化效率測度及其收斂分析
      汶上县| 上高县| 邛崃市| 绥中县| 五指山市| 冀州市| 商南县| 新郑市| 灵璧县| 互助| 安新县| 江源县| 武宁县| 临泽县| 凤城市| 葫芦岛市| 太康县| 通道| 深泽县| 洮南市| 仙居县| 浪卡子县| 治县。| 长阳| 汾阳市| 精河县| 德化县| 民乐县| 绵阳市| 苍溪县| 读书| 衢州市| 宜黄县| 襄汾县| 茶陵县| 东阿县| 定陶县| 肇州县| 凤阳县| 乐安县| 福贡县|