国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Autolisp的輪胎花紋節(jié)距自動(dòng)排列

2016-11-28 02:03胡海明王云見王科
橡塑技術(shù)與裝備 2016年3期
關(guān)鍵詞:節(jié)距花紋對(duì)話框

胡海明,王云見,王科

(青島科技大學(xué) 機(jī)電工程學(xué)院,山東 青島 266061)

基于Autolisp的輪胎花紋節(jié)距自動(dòng)排列

Tire pattern pitch automatic arrangement based on Autolisp

胡海明,王云見,王科

(青島科技大學(xué) 機(jī)電工程學(xué)院,山東 青島 266061)

輪胎花紋節(jié)距排列是一項(xiàng)繁雜的工作。通過讀取花紋節(jié)距圖,實(shí)現(xiàn)花紋節(jié)距的參數(shù)化排列,工作效率提升10倍以上,且降低了出錯(cuò)率。

Autolisp;輪胎花紋;節(jié)距排列

輪胎花紋是輪胎的重要組成部分,它與汽車性能、輪胎使用壽命密切相關(guān)。輪胎花紋由不同的節(jié)距排列組成。一種輪胎花紋的各種節(jié)距都只是節(jié)距長(zhǎng)度不同,其它形狀大致相似。由于輪胎花紋的這種特性,設(shè)計(jì)輪胎節(jié)距排列時(shí)常常都是在做重復(fù)性的工作。有的輪胎花紋節(jié)距排列達(dá)到80至100之多。設(shè)計(jì)過程中,這種枯燥重復(fù)的工作不僅浪費(fèi)時(shí)間,而且容易出錯(cuò),即使發(fā)現(xiàn)節(jié)距總長(zhǎng)錯(cuò)誤,也很難找到出錯(cuò)點(diǎn)。本文應(yīng)用Autolisp語(yǔ)言對(duì)輪胎花紋節(jié)距排列進(jìn)行參數(shù)化設(shè)計(jì),實(shí)現(xiàn)輪胎花紋節(jié)距的自動(dòng)排列。

1 輪胎花紋節(jié)距

以3種關(guān)聯(lián)節(jié)距的輪胎花紋設(shè)計(jì)為例,根據(jù)花紋尺寸和約束類型,在AutoCAD中進(jìn)行花紋的單節(jié)距繪制。然后依次繪出其它節(jié)距的圖形,分別命名為節(jié)距S、節(jié)距M和節(jié)距L。根據(jù)花紋的節(jié)距排列,依次將不同的節(jié)距制作成塊插入圖中,排列出整圈輪胎的花紋節(jié)距圖。3種關(guān)聯(lián)節(jié)距的花紋有SS,SM,SL,MS,MM,ML,LS,LM,LL共9種花紋節(jié)距的關(guān)聯(lián)排列情況。以小節(jié)距S為例,相鄰節(jié)距為S,M,L時(shí),有SS,SM,SL三種情況。若主節(jié)距S受左邊節(jié)距的影響,稱為左關(guān)聯(lián)節(jié)距;若主節(jié)距受右邊節(jié)距的影響,稱為右關(guān)聯(lián)節(jié)距;主節(jié)距同時(shí)受兩邊節(jié)距的影響或主節(jié)距受左邊兩個(gè)節(jié)距的影響或主節(jié)距受右邊兩個(gè)節(jié)距的影響時(shí),稱為多關(guān)聯(lián)節(jié)距。當(dāng)然,輪胎花紋的節(jié)距不僅僅只有S,M,L三種節(jié)距,超過三種節(jié)距的花紋也有很多。

以圖1的MS左關(guān)聯(lián)節(jié)距為例,圖中的花筋屬于S節(jié)距,而花筋的線a和線b是從交點(diǎn)p上引出來(lái)的,交點(diǎn)p是M節(jié)距的線a與水平線的交點(diǎn)。在節(jié)距的排列圖中,S節(jié)距的左側(cè)有可能是S節(jié)距、M節(jié)距或L節(jié)距,那么線b和線c的長(zhǎng)度和角度都會(huì)隨著線a點(diǎn)的位置不同而發(fā)生變化??梢姡陉P(guān)聯(lián)處花紋的形狀要特殊設(shè)計(jì),以滿足整體花紋的關(guān)聯(lián)排列。

圖1 節(jié)距關(guān)聯(lián)

2 花紋節(jié)距排列程序的編寫

2.1 節(jié)距的排列程序參數(shù)

對(duì)非關(guān)聯(lián)節(jié)距排列需取得的參數(shù)有節(jié)距的個(gè)數(shù)、每個(gè)節(jié)距的長(zhǎng)度、節(jié)距的順序和節(jié)距圖形。

程序首先通過對(duì)話框獲得用戶輸入的節(jié)距個(gè)數(shù),調(diào)用不同的函數(shù)進(jìn)行計(jì)算排列。然后從坐標(biāo)系的原點(diǎn)開始,根據(jù)節(jié)距長(zhǎng)度確定每一個(gè)節(jié)距排列位置,并將節(jié)距圖塊插入到正確的位置上。對(duì)于旋轉(zhuǎn)對(duì)稱的節(jié)距,程序會(huì)復(fù)制一個(gè)下型節(jié)距,再旋轉(zhuǎn)180°到輪胎花紋的上型。

關(guān)聯(lián)節(jié)距的排列程序同非關(guān)聯(lián)的排列程序一樣,對(duì)右關(guān)聯(lián)的節(jié)距,輪胎花紋下型的主節(jié)距圖形受右側(cè)節(jié)距的影響,而上型圖形受左側(cè)節(jié)距的影響。左關(guān)聯(lián)的節(jié)距則和右關(guān)聯(lián)相反。對(duì)于多關(guān)聯(lián)的節(jié)距排列,其原理同右關(guān)聯(lián)或左關(guān)聯(lián)的節(jié)距排列,只不過多加了一些節(jié)距,只要在讀取節(jié)距順序時(shí)多加一位字符即可。

2.2 程序框圖

根據(jù)上述參數(shù)和排列方法確定節(jié)距排列程序框圖,如圖2。

圖2 程序框圖

2.3 輪胎花紋節(jié)距排圖軟件說(shuō)明

根據(jù)程序框圖描述,在Autocad的界面中輸入paitu指令后將彈出程序界面,如圖3所示。調(diào)用界面的程序如下:

(defun c:paitu();定義快捷鍵名稱為paitu。

(setvar "cmdecho" 0);控制在 AutoLISP 命令函數(shù)運(yùn)行時(shí)是否回顯提示和輸入。

(dcl_paitu);調(diào)用函數(shù)dcl_paitu。

(prin1) ;輸出顯示。

圖3 輪胎花紋節(jié)距排圖程序的主界面

(defun dcl_paitu();定義函數(shù)dcl_paitu。

(setq index_value (load_dialog "排 圖 主 界面.dcl"))

(if (not (new_dialog "paitudcl" index_value))調(diào)用dcl顯示界面。

(exit))

Dcl編譯的界面語(yǔ)言部分如下:

paitudcl:dialog {/定義對(duì)話框的調(diào)用為paitudcl。

label = "輪胎花紋節(jié)距排圖" ;/定義對(duì)話框名稱。

:text {

alignment = centered ;/定義對(duì)正樣式為中心對(duì)正。

label = "數(shù)據(jù)輸入/選擇花紋排列類型" ;/定義顯示的文字。

}

:edit_box {/定義編輯的文本框。

key = "key_gs" ;/定義文本框的關(guān)鍵字。

label = "花紋節(jié)距種類數(shù)目" /定義文本框的名稱。

}

以半鋼左關(guān)聯(lián)為例,在程序的主界面中輸入數(shù)據(jù),包括節(jié)距種類數(shù)目和節(jié)距排列順序,點(diǎn)擊“半鋼左關(guān)聯(lián)排圖”按鈕后,出現(xiàn)對(duì)話框如圖4所示。

在對(duì)話框中,輸入S節(jié)距、M節(jié)距和L節(jié)距的長(zhǎng)度并由程序?qū)節(jié)距、M節(jié)距和L節(jié)距文本框中的數(shù)據(jù)讀取出來(lái),并將其轉(zhuǎn)化成數(shù)值并賦給實(shí)型數(shù)變量sjj、mjj和ljj。

圖4 左關(guān)聯(lián)和右關(guān)聯(lián)節(jié)距排圖界面

(action_tile "key_ljj" "(setq LJJ $value)") (setq ljj (atof LJJ))

點(diǎn)擊“選擇節(jié)距塊”的按鈕,彈出詢問對(duì)話框如圖5所示,選擇需要的一種情況,按下按鈕,彈出塊文件的選擇方式對(duì)話框如圖6所示,選擇一種方式創(chuàng)建塊。

圖5 旋轉(zhuǎn)詢問界面

圖6 節(jié)距塊的創(chuàng)建方式

選擇第一種方式時(shí),將彈出標(biāo)準(zhǔn)文件選擇對(duì)話框,進(jìn)行節(jié)距文件的選擇。并將選擇的文件路徑名賦給指定的變量,程序如下:

(setq sswj (getfiled "選擇節(jié)距文件" "~" "dwg" 2 ))、

選擇第二種方式時(shí),將提示指定基點(diǎn),并選擇塊對(duì)象,與Autocad中的塊創(chuàng)建命令相同。程序如下:

(defun kkk ( bs ) ;定義塊的創(chuàng)建函數(shù)名。

(print (strcat "請(qǐng)創(chuàng)建第<" (rtos gg 2 3) ">個(gè)塊"));提示創(chuàng)建第幾個(gè)塊。

(setq name gg) (setq bs(ssget));根據(jù)選定對(duì)象創(chuàng)建選擇集。

(command "change" bs "" "p" "c" gg "");指定塊的顏色。

(print "請(qǐng)選擇塊的基點(diǎn)");提示選擇基點(diǎn)。

(setq pp (getpoint)) ;選擇基點(diǎn)。

(command "_block" name pp bs ""));創(chuàng)建塊并按順序命名。

選擇完文件后,程序進(jìn)入循環(huán)語(yǔ)句,通過判斷輸入的順序字符串,確定要插入哪一個(gè)文件。如果是非關(guān)聯(lián)節(jié)距,則substr指令的最后一位為1,表示讀取字符串中的1個(gè)字符并賦予變量ge;如果是關(guān)聯(lián)節(jié)距,則最后一位數(shù)為2,表示讀取2個(gè)字符并賦予變量ge。例如:當(dāng)輸入的節(jié)距順序?yàn)椤皊mlms”時(shí),第一次循環(huán)時(shí)程序讀取出“sm”字符串,程序如下:

(while (<= kk jjs) (setq ge (substr sx kk 1));非關(guān)聯(lián)節(jié)距讀取字符。

(while (<= kk jjs) (setq ge (substr sx kk 2));關(guān)聯(lián)節(jié)距讀取字符。

插入節(jié)距文件的插入點(diǎn)都位于同一條直線上,最初的插入點(diǎn)設(shè)置為原點(diǎn)并賦值給變量jl,第二個(gè)插入點(diǎn)據(jù)第一個(gè)插入點(diǎn)的長(zhǎng)度為讀取到得那個(gè)節(jié)距的長(zhǎng)度,將長(zhǎng)度值賦給變量yb,并由變量jl和常數(shù)0組成的表賦給變量pl作為插入點(diǎn)的坐標(biāo)。插入點(diǎn)的坐標(biāo)程序如下:

(setq jl (+ yb jl)) (setq pl (list jl 0));指定插入點(diǎn),插入點(diǎn)的坐標(biāo)由變量pl表示成一個(gè)表,即(list jl 0),變量jl表示X方向的坐標(biāo),0表示Y方向坐標(biāo)。

塊文件的插入程序使用cond指令進(jìn)行判斷,當(dāng)讀取變量ge中的字符與設(shè)定的字符相同時(shí),則插入相應(yīng)的節(jié)距文件。程序如下:

在 (command "-insert" llwj pl 1 1 "0"))程序段中,command是Autolisp調(diào)用AutoCAD命令時(shí)使用的指令,insert為AutoCAD的塊插入命令,變量llwj表示為L(zhǎng)L節(jié)距文件的路徑,pl表示塊插入的坐標(biāo),后面的常數(shù)表示為1:1插入塊,旋轉(zhuǎn)角度為0°,當(dāng)需要旋轉(zhuǎn)出上型塊圖形時(shí),旋轉(zhuǎn)角度設(shè)置為180°。

為了能明確看到節(jié)距的順序,程序在每個(gè)節(jié)距的上方都添加了節(jié)距的名稱,如圖7所示。程序如下:

圖7 帶有節(jié)距號(hào)的節(jié)距排列圖

(setq plp (list jl -12))

(if (= bu "ss")(command "text" "j" "c" plp 8.0 0 "SS"))

(if (= bu "sm")(command "text" "j" "c" plp 8.0 0 "SM"))

在(command "text" "j" "c" plp 8.0 0 "SM"))的程序段中,“text”表示AutoCAD中調(diào)用單行文字命令,“j”“c”表示對(duì)正樣式為中心對(duì)正,變量plp表示插入點(diǎn)的坐標(biāo),和變量pl相比在Y的負(fù)方向偏移12 mm,8.0表示字高,旋轉(zhuǎn)角度為0°,“SS”為輸入的字符串。

半鋼非關(guān)聯(lián)節(jié)距排圖,半鋼多關(guān)聯(lián)節(jié)距排圖和全鋼雙節(jié)距排圖與半鋼左關(guān)聯(lián)節(jié)距排圖程序的編寫類似。

3 結(jié)論

花紋節(jié)距的參數(shù)化設(shè)計(jì)實(shí)現(xiàn)了半鋼、全鋼花紋節(jié)距的自動(dòng)排列,工作效率提高了10倍,且工作出錯(cuò)率大為減少。

[1] 郭秀娟. AutoLISP語(yǔ)言程序設(shè)計(jì) [M] .北京:化學(xué)工業(yè)出版社,2008.

[2]周樂來(lái). AutoCAD2008Vsisual LISP二次開發(fā)入門到精通[M]. 北京:機(jī)械工業(yè)出版社,2008.

[3] 張智,杜以波. 輪胎花紋與汽車使用性能 [J] .山東:山東交通科學(xué)研究所,2003.

[4]胡海明,張浩.基于VB的雙節(jié)距花紋塊電加工分度表生成軟件的設(shè)計(jì)與實(shí)現(xiàn) [J] .模具設(shè)計(jì),2012(5):52~55.

[5] 胡海明,李鶴,孫偉,等. 壓鑄模分析計(jì)算報(bào)價(jià)系統(tǒng)的設(shè)計(jì)與研究 [J].模具工業(yè),2008,34(5):20~23.

TQ336.1 TQ330.493

1009-797X(2016)03-0062-04

B

10.13520/j.cnki.rpte.2016.03.016

胡海明,男,青島科技大學(xué)教授。

2015-05-04

猜你喜歡
節(jié)距花紋對(duì)話框
基于CATIA/CAA的輪胎花紋跨節(jié)距設(shè)計(jì)及自動(dòng)整周拼合
基于CATIA/CAA的輪胎花紋設(shè)計(jì)及自動(dòng)節(jié)距排列
正?;謴?fù)虛擬機(jī)
涂顏色
Bootlace Worms’Secret etc.
What Is Beauty?
冰雪路面轎車輪胎
公交車專用載重汽車輪胎胎面花紋
基于焊點(diǎn)形態(tài)分析的小節(jié)距BGA焊盤尺寸設(shè)計(jì)
淺談VB的通用對(duì)話框《CommonDialog》控件的使用