?

基于Autolisp的輪胎花紋節距自動排列

2016-11-28 02:03胡海明王云見王科
橡塑技術與裝備 2016年3期
關鍵詞:節距花紋對話框

胡海明,王云見,王科

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

基于Autolisp的輪胎花紋節距自動排列

Tire pattern pitch automatic arrangement based on Autolisp

胡海明,王云見,王科

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

輪胎花紋節距排列是一項繁雜的工作。通過讀取花紋節距圖,實現花紋節距的參數化排列,工作效率提升10倍以上,且降低了出錯率。

Autolisp;輪胎花紋;節距排列

輪胎花紋是輪胎的重要組成部分,它與汽車性能、輪胎使用壽命密切相關。輪胎花紋由不同的節距排列組成。一種輪胎花紋的各種節距都只是節距長度不同,其它形狀大致相似。由于輪胎花紋的這種特性,設計輪胎節距排列時常常都是在做重復性的工作。有的輪胎花紋節距排列達到80至100之多。設計過程中,這種枯燥重復的工作不僅浪費時間,而且容易出錯,即使發現節距總長錯誤,也很難找到出錯點。本文應用Autolisp語言對輪胎花紋節距排列進行參數化設計,實現輪胎花紋節距的自動排列。

1 輪胎花紋節距

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

以圖1的MS左關聯節距為例,圖中的花筋屬于S節距,而花筋的線a和線b是從交點p上引出來的,交點p是M節距的線a與水平線的交點。在節距的排列圖中,S節距的左側有可能是S節距、M節距或L節距,那么線b和線c的長度和角度都會隨著線a點的位置不同而發生變化??梢?,在關聯處花紋的形狀要特殊設計,以滿足整體花紋的關聯排列。

圖1 節距關聯

2 花紋節距排列程序的編寫

2.1 節距的排列程序參數

對非關聯節距排列需取得的參數有節距的個數、每個節距的長度、節距的順序和節距圖形。

程序首先通過對話框獲得用戶輸入的節距個數,調用不同的函數進行計算排列。然后從坐標系的原點開始,根據節距長度確定每一個節距排列位置,并將節距圖塊插入到正確的位置上。對于旋轉對稱的節距,程序會復制一個下型節距,再旋轉180°到輪胎花紋的上型。

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

2.2 程序框圖

根據上述參數和排列方法確定節距排列程序框圖,如圖2。

圖2 程序框圖

2.3 輪胎花紋節距排圖軟件說明

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

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

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

(dcl_paitu);調用函數dcl_paitu。

(prin1) ;輸出顯示。

圖3 輪胎花紋節距排圖程序的主界面

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

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

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

(exit))

Dcl編譯的界面語言部分如下:

paitudcl:dialog {/定義對話框的調用為paitudcl。

label = "輪胎花紋節距排圖" ;/定義對話框名稱。

:text {

alignment = centered ;/定義對正樣式為中心對正。

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

}

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

key = "key_gs" ;/定義文本框的關鍵字。

label = "花紋節距種類數目" /定義文本框的名稱。

}

以半鋼左關聯為例,在程序的主界面中輸入數據,包括節距種類數目和節距排列順序,點擊“半鋼左關聯排圖”按鈕后,出現對話框如圖4所示。

在對話框中,輸入S節距、M節距和L節距的長度并由程序將S節距、M節距和L節距文本框中的數據讀取出來,并將其轉化成數值并賦給實型數變量sjj、mjj和ljj。

圖4 左關聯和右關聯節距排圖界面

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

點擊“選擇節距塊”的按鈕,彈出詢問對話框如圖5所示,選擇需要的一種情況,按下按鈕,彈出塊文件的選擇方式對話框如圖6所示,選擇一種方式創建塊。

圖5 旋轉詢問界面

圖6 節距塊的創建方式

選擇第一種方式時,將彈出標準文件選擇對話框,進行節距文件的選擇。并將選擇的文件路徑名賦給指定的變量,程序如下:

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

選擇第二種方式時,將提示指定基點,并選擇塊對象,與Autocad中的塊創建命令相同。程序如下:

(defun kkk ( bs ) ;定義塊的創建函數名。

(print (strcat "請創建第<" (rtos gg 2 3) ">個塊"));提示創建第幾個塊。

(setq name gg) (setq bs(ssget));根據選定對象創建選擇集。

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

(print "請選擇塊的基點");提示選擇基點。

(setq pp (getpoint)) ;選擇基點。

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

選擇完文件后,程序進入循環語句,通過判斷輸入的順序字符串,確定要插入哪一個文件。如果是非關聯節距,則substr指令的最后一位為1,表示讀取字符串中的1個字符并賦予變量ge;如果是關聯節距,則最后一位數為2,表示讀取2個字符并賦予變量ge。例如:當輸入的節距順序為“smlms”時,第一次循環時程序讀取出“sm”字符串,程序如下:

(while (<= kk jjs) (setq ge (substr sx kk 1));非關聯節距讀取字符。

(while (<= kk jjs) (setq ge (substr sx kk 2));關聯節距讀取字符。

插入節距文件的插入點都位于同一條直線上,最初的插入點設置為原點并賦值給變量jl,第二個插入點據第一個插入點的長度為讀取到得那個節距的長度,將長度值賦給變量yb,并由變量jl和常數0組成的表賦給變量pl作為插入點的坐標。插入點的坐標程序如下:

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

塊文件的插入程序使用cond指令進行判斷,當讀取變量ge中的字符與設定的字符相同時,則插入相應的節距文件。程序如下:

在 (command "-insert" llwj pl 1 1 "0"))程序段中,command是Autolisp調用AutoCAD命令時使用的指令,insert為AutoCAD的塊插入命令,變量llwj表示為LL節距文件的路徑,pl表示塊插入的坐標,后面的常數表示為1:1插入塊,旋轉角度為0°,當需要旋轉出上型塊圖形時,旋轉角度設置為180°。

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

圖7 帶有節距號的節距排列圖

(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中調用單行文字命令,“j”“c”表示對正樣式為中心對正,變量plp表示插入點的坐標,和變量pl相比在Y的負方向偏移12 mm,8.0表示字高,旋轉角度為0°,“SS”為輸入的字符串。

半鋼非關聯節距排圖,半鋼多關聯節距排圖和全鋼雙節距排圖與半鋼左關聯節距排圖程序的編寫類似。

3 結論

花紋節距的參數化設計實現了半鋼、全鋼花紋節距的自動排列,工作效率提高了10倍,且工作出錯率大為減少。

[1] 郭秀娟. AutoLISP語言程序設計 [M] .北京:化學工業出版社,2008.

[2]周樂來. AutoCAD2008Vsisual LISP二次開發入門到精通[M]. 北京:機械工業出版社,2008.

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

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

[5] 胡海明,李鶴,孫偉,等. 壓鑄模分析計算報價系統的設計與研究 [J].模具工業,2008,34(5):20~23.

TQ336.1 TQ330.493

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

B

10.13520/j.cnki.rpte.2016.03.016

胡海明,男,青島科技大學教授。

2015-05-04

猜你喜歡
節距花紋對話框
基于CATIA/CAA的輪胎花紋跨節距設計及自動整周拼合
基于CATIA/CAA的輪胎花紋設計及自動節距排列
正?;謴吞摂M機
涂顏色
Bootlace Worms’Secret etc.
What Is Beauty?
冰雪路面轎車輪胎
公交車專用載重汽車輪胎胎面花紋
基于焊點形態分析的小節距BGA焊盤尺寸設計
淺談VB的通用對話框《CommonDialog》控件的使用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合