Diesel programavimo kalba
5 (100%) 1 vote

Diesel programavimo kalba

Diesel programavimo kalba

Peržiūrėje Acad.mnu failą, pastebėsite daug meniu parinkčių, kuriose yra keistai atrodantis tekstas, prasidedantis dolerio simboliu ($). Kai kuriais atvejais dolerio simbolis nurodo išskleisti konteksto meniu. Tačiau dažniausiai šis simbolis yra Diesel makrokomandų kalbos dalis. Diesel yra viena iš daugelio AutoCAD remiamų makrokomandu kalbų. Ją galima naudoti paprastoms operacijoms atlikti. Kaip ir AutoLISP, šios kalbos kodas apskliaudžiamas. Susipažinsime su Diesel panaudojimo būdais. Pirmiausia Diesel paleisime komandų eilutėje. Taip pademonstruosime Diesel makrokomandų formata ir suteiksime galimybe pamatyti Diese/ veikimą. Tuomet parodysime, kaip Diesel panaudoti meniu parinktyse, kad būtų patikrinta esama AutoCAD busena. Trečiojoje dalyje parodysime, kaip Diese/ panaudoti meniu pavadinimuose, kontroliuojant kas juose rodoma. Galiausiai išmoksite Diese/ panaudoti lauku (Field) objektuose, kai norėsite kontroliuoti tekstą brežinyje.

Diesel komandų eiluteje

AutoCAD komandų eilutėje Diese/ galima naudoti įvykdžius komandą Modemacro (makrokomandų rėžimas). Modemacro komanda informaciją persiunčia į būsenos juostą.

Diese/ galima naudoti makrokomandų rėžime paprastoms užduotims atlikti .

Išbandysime Diese/ šiame pratime:

1. Komandų eiluteje įveskite Modemacro

2. Paraginti įvesti naują MODEMACRO reikšmę arba nieko <“ „>. (Enter new value for MODEMACRO, or . for none <“ „>:)>/vesklte $(/,25,2) Kairiajame būsenos juostos kampe pamatysite reiškinio atsakyma 12.5.

3. Kad išvalytumėte būsenos juostą, įveskite Modemacro .

Lygtis, įvesta 2-ajame veiksme, vadinama reiškiniu. Diese/ reiškinių struktūra panaši į AutoLISP. Dolerio simboliu nurodoma, kad po jo bus Diesel reiškinys.

Diese/ reiškinyje turi būti koks nors operacijos ženklas bei elementai operacijai atlikti. Operacijos ženklas nurodo tam tikrą veiksmą, pavyzdžiui, dviejų skaičių sumą arba skirtumą. Matematinių operacijų pavyzdžiai galėtų būti pliuso (+) ženklas sumai arba įžambus brukšnys (/) dalybai.

Operacijos ženklas dažnai vadinamas funkcija, o operacijos elementai ­kintamaisiais. Todėl (/,25,2) reiškinyje / yra funkcija, 025 ir 2 yra kintamieji. Visi Diesel reiškiniai, nepriklausomai nuo ju ilgio, turi tokią strukturą ir apskliaudžiami skliaustais. Skliaustai yra svarbi reiškinio dalis. Skliaustų kiekis turi būti subalansuotas, prie kiekvieno kairiojo skliausto turi būti dešinysis.

Su Diesel galima atlikti ne tik skaičiavimus. Getvar funkcija yra AutoLISP funkcija, kuria galima gauti brėžinio buvimo vietą ir pavadinimą. Šiais veiksmais išbandykite Diese/ funkciją Getvar:

1. Vėl įveskite Modemacro

2. Įveskite $ (getvar ,dwgprefix) . Esamo brėžinio vieta bus nurodyta būsenos juostoje.

3. Paspausdami , veėl ivykdykite Modemacro komandą; tuomet įveskite $ (getvar ,dwgname) . Dabar būsenos juostoje bus nurodytas brėžinio pavadinimas.

Šiame pavyzdyje Getvar funkcijos dėka sužinosime brėžinio buvimo vietą ir pavadinimą, kurie nurodomi būsenos juostoje. Getvar galima naudoti bet kokiam sisteminiam kintamajam gauti. Beveik visos AutoCAD nuostatos valdomos ir sisteminiais kintamaisiais. Tai labai praverčia kuriant individualius meniu, nes su Getvar galima sužinoti apie AutoCAD programos būseną. Pavyzdžiui, galima sužinoti, kokia komanda šiuo metu vykdoma. Kaip tai veikia, sužinosite atlikę, šį pratimą:

1. Braižymo (Drawing) įrankių juostoje spragtelekite linijos (Line) įrankį.

2. Įveskite ~Modemacro . Apostrofas prieš Modemacro komandą leidžia naudot šią komandą veikiant kitai komandai.

3. Įveskite $ (getvar ,cmdnames) . Būsenos juostoje atsiras žodis line, kuris rodo, kad vykdoma linijos (Line) komanda.

Diesel praverčia meniu, kai parinktis turi atlikti tam tikrą funkciją, priklausomai nuo to, kokia tuo metu vykdoma komanda.

Įspejimas. LT vartotojai negali naudoti AutoLISP, kad sužinotų AutoCAD failo vietą. Tačiau jie gali pasitelkti Diesel makrokomandų kalbą. Pavyzdžiui. kad sužinotų kelią iki žurnalo (log) failo, gali ivesti Modemacro. tuomet $ (getvar ,logfilepath). Kelias bus rodomas būsenos juostos kaireje.

Diesel naudojimas meniu

Iki šiol Diesel išbandėme tik su Modemacro komanda. Diesel meniu naudojamas šiek tiek kitaip. Taip pat naudojamas dolerio ženklas ir reiškinys, tačiau norint paleisti Diesel, nereikia Modemacro komandos. Vietoj jos naudojamas $M= – jį galima įsivaizduoti kaip Modemacro santrumpa. Meniu galima naudoti toki Diesel reiškinį:

[Blipmode on/off] ‘Blipmode $M=$(-,l,$(getvar,Blipmode))

Šia meniu parinktimi įjungiamos išjungiamos žymelės (Blipmode). Kaip atsimenate, žymelių (Blipmode) rėžime pažymėti taškai brėžinyje rodomi kaip maži kryžiukai. Šie kryžiukai, vadinami žymelėmis, nespausdinami ir gali būti išvalyti su perbraižymo komanda. Tačiau jie praverčia, kai norite matyti pažymėtus taškus. Šiame pavyzdyje vykdoma Blipmode (žymelės) komanda, 0 $M=nurodo, kad tai Diesel reiškinys. Reiškinys:

$(-,l,$(getvar,Blipmode) )

grąžina 1 arba 0, kuris naudojamas žymelių (Blipmode) komandoje, taip įjungiant arba išjungiant žymeles. Pirmiausia vykdoma giliausiai reiškinyje esantis reiškinys, todėl pirmiausia ivykdomas reiškinys.

$ (getvar,blipmode)

Ji
grąžina 1 arba 0, priklausomai nuo to, ar žymelės (Blipmode) įjungtos, ar ne. Tuomet vykdomas kitas reiškinio lygis

$(-,l,getvar_rezultatas)

Čia getvar_rezultatas yra 1 arba 0. Jei getvar_rezultatas yra 1, reiškinys atrodytu taip:

$ (-,1,1)

ir grąžintu O. Jei getvar_rezultatas yra 0, reiškinys atrodytu taip:

$ (-,1,0)

ir grąžintu 1. Bet kuriuo atveju, žymelių (Blipmode) komandai butų priskirta reikšmė, kuri yra priešinga esamai žymelių (Blipmode) nuostatai.

Diesel meniu parinkties etiketėje

Ankstesniame pavyzdyje pademonstravome, kaip naudoti Diesel meniu, norint gauti komandos būsena ir grąžinti skaitinę reikšmę, kuria. pakeičiama toji būsena. Diesel galima naudoti kaip meniu parinkties etiketės dalį. Žemiau pateiktas reiškinys iliustruoja šiek tiek gudresnį meniu. Cia Diesel kodas parašytas meniu parinkties pavadinime:

[$ (eval,“Blipmode =“ $ (getvar,blipmode) )) ‘BLIPMODE $M=$(-,l,$

(getvar,blipmode))

Patarimas. Kai Diesel naudojamas meniu pavadinime, $M=kodo nereikia.

Paprastai meniu pavadinimą matote laužtiniuose skliaustuose meniu sąrašo pradžioje, tačiau čia matote kelias Diesel komandas. Šiomis komandomis nurodoma rodyti meniu Blipmode = 1 arba Blipmode = 0, priklausomai nuo esamos žymelių nuostatos.

Tai veikia taip. Matote pažįstama reiškinį $ (getvar ,blipmode), tačiau šį kartą jis įterptas į kitą reiškinį. Žinote, kad $ (getvar ,blipmode) grąžina 1 arba 0, priklausomai nuo to, ar žymelės įjungtos, ar ne. Išorinis reiškinys

$(eval,“Blipmode =“ getvar_result)

parodo Blipmode =, kuri sujungia su getvar_rezultatu, kuris, kaip žinote, gali būti 1 arba 0.Funkcija eval įvertina tekstą ir grąžina jo turinį. Galutinis rezultatas yra Blipmode = 1 arba Blipmode = 0, priklausomai nuo žymelių būsenos.

Naudojant Diesel funkcija if (jeigu), meniu pavadinimą galima padaryti Blipmode On (ijungti žymeles) arba Blipmode fft (išjungti žymeles). Čia tas pats meniu punktas su papildomu Diesel kodu:

[$ (eval, „Blipmode “ $ (i f, $ (getvar ,blipmode) , „off“, „On“) ) ] ‘BLIPMODE $M=$(-,l,$(getvar,blipmode) )

Šiame pavyzdyje paprastas $ (getvar ,blipmode) reiškinys išplėstas su if (jeigu) funkcija. Funkcija if (jeigu) pagal $ (getvar ,blipmode) rezultatą grąžina off (išjungta) arba On (įjungta) reikšmes, priklausomai nuo to, ar $ (getvar ,blipmode) grąžino 0.ar 1. Šis reiškinys atrodo taip:

Šiuo metu Jūs matote 30% šio straipsnio.
Matomi 1088 žodžiai iš 3569 žodžių.
Peržiūrėkite iki 100 straipsnių per 24 val. Pasirinkite apmokėjimo būdą:
El. bankininkyste - 1,45 Eur.
Įveskite savo el. paštą (juo išsiųsime atrakinimo kodą) ir spauskite Tęsti.
SMS žinute - 2,90 Eur.
Siųskite sms numeriu 1337 su tekstu INFO MEDIA ir įveskite gautą atrakinimo kodą.
Turite atrakinimo kodą?
Po mokėjimo iškart gausite atrakinimo kodą, kurį įveskite į laukelį žemiau:
Kodas suteikia galimybę atrakinti iki 100 straispnių svetainėje ir galioja 24 val.