Šiame įraše apžvelgiame galingiausią „ne programuotojams“ prieinamą metodą, tinkinantį BricsCAD - LISP programavimo kalba - ją šiek tiek sunkiau sukurti nei makrokomandas ar scenarijus. Sužinosite, kas yra LISP ir kaip jis veikia BricsCAD. Taip pat sužinosite, kaip atlikti paprastus papildymus LISP.
Nors įrankių juostą ir meniu makrokomandas lengva rašyti ir redaguoti, jos riboja jūsų galimybes valdyti BricsCAD.
Šiame įraše aptariamos šios temos:
- BricsCAD LISP istorija
- BricsCAD ir „AutoLISP“ suderinamumas
- LISP programavimo kalba
- Kaip pridėti 2 skaičius
BricsCAD LISP istorija
LISP yra viena iš ankstyviausių programavimo kalbų, sukurta šeštojo dešimtmečio pabaigoje, siekiant padėti dirbtinio intelekto tyrimams. Jo pavadinimas trumpai reiškia „sąrašų apdorojimas“ ir buvo skirtas tvarkyti žodžių, skaičių ir simbolių sąrašus.
LISP pirmą kartą pasirodė CAD, kai dar 1985 m. „Autodesk“ prie „AutoCAD“ pridėjo nedokumentuotą funkciją v2.15 pavadinimu „Kintamieji ir išraiškos“. „Autodesk“ programuotojai paėmė XLISP, Davido Betzo parašytą viešosios srities tarmę, ir pritaikė ją „AutoCAD“. Pradinis kintamųjų ir išraiškų leidimas buvo silpnas, nes jo trūko sąlyginiai teiginiai - reikalingi programavimo kalboms, norint priimti sprendimus.
Papildomais leidimais „Autodesk“ pridėjo trūkstamus programavimo teiginius, galingas GETxxx, SSxxx ir EntMod procedūras (kurios suteikia tiesioginę prieigą prie brėžinių duomenų bazėje esančių subjektų) ir pervadino programavimo kalbą „AutoLISP“. Tai leido trečiųjų šalių kūrėjams rašyti procedūras, kuriomis buvo galima manipuliuoti visu piešiniu, o ne programuotojai - paprastas procedūras, kurios automatizuodavo kasdienę piešimo veiklą.
Kai „SoftDesk“ sukūrė „IntelliCAD“, jie įtraukė programavimo kalbą, labai panašią į „AutoLISP“, vadindami ją tiesiog „LISP“. (Manau, kad būtų buvę geriau tai pavadinti „IntelliLISP“, kad būtų išvengta painiavos su tikra LISP programavimo kalba. Dar geriau, jie būtų galėję suteikti tai madingam „iLISP“ žaidėjui.)
BLADE APLINKA
BricsCAD apima LISP ir palaiko „VisualLISP“ (šiose žinutėse nenurodyta). Galite peržiūrėti visą, oficialus BricsCAD LISP vadovas prisijungęs. Naudodamas V18, „Bricsys“ turi pažangųjį LISP autorinė aplinka, pavadinta „Blade“: „Bricsys LISP“ pažangios plėtros aplinka. Norėdami jį pradėti, įveskite Ašmenys komanda iš BricsCAD.
LISP IR AUTOLISP SUDERINAMUMAS
LISP, esantis BricsCAD, didžiąja dalimi yra suderinamas su AutoCAD's AutoLISP. Jei žinote „AutoLISP“, galite nedelsdami programuoti LISP, įskaitant dialogo langų valdymą. Tačiau LISP turi keletą skirtumų, kuriuos turėtumėte žinoti.
Papildomos LISP funkcijos
BricsCAD LISP yra papildomų funkcijų, nerastų „AutoLISP“. Tai apima:
LISP funkcija | Reikšmė |
acos | Arkos kosinusas |
asin | Arkos sinusas |
Atanas | Hiperbolinis lanko tangentas |
lubos | mažiausias sveikasis skaičius, ne mažesnis kaip x. |
kosas | Hiperbolinis kosinusas |
rasti | Suranda elementą sąraše |
grindys | Didžiausias sveikasis skaičius mažesnis arba lygus x |
get_diskserialid | Unikali devynių skaitmenų ID eilutė |
greitas | Dabartinio proceso proceso ID |
grarc | Nubrėžia laikiną lanką ar apskritimą, nurodytu spinduliu ir spalva; pasirinktinai paryškinta |
Grfill | Piešia laikiną užpildytą daugiakampio plotą su nurodyta spalva; pasirinktinai paryškintame režime |
log10 | 10 žurnalas |
padėtis | Indeksuoja elemento numerį sąraše |
pašalinti | Pašalina elementą iš sąrašo |
apvalus | Suapvalinamas iki artimiausio sveikojo skaičiaus |
Paieška | Ieško elemento ir grąžina jo sąrašo numerį |
sinh | Hiperbolinė sinusė |
miegoti | Pristabdyti vykdymą |
stygos suskaidytos | Padalijama eilutė, remiantis atskirtuvu |
įdegis | Tangentas |
tanhas | Hiperbolinis tangentas |
iki | Testuoja išraišką, kol ji teisinga |
vla kolekcija- | Grąžina kolekciją kaip LISP sąrašą |
Skirtingos LISP funkcijos
LISP turi keletą funkcijų, kurios veikia skirtingai nei „AutoLISP“, teikdamos papildomą palaikymą.
Jie apima:
LISP funkcija | Komentuok |
osnap | Palaiko PLA (plano peržiūros) subjekto spragtelėjimas, norint fotografuoti iki 2D sankryžų. |
ssget ir ssadd | Palaiko papildomus atrankos režimus: |
CC – Crossing Cirklas | |
O – Oišorėje | |
OC – Oišorėje Cirklas | |
OP – Oišorėje Poligonas | |
PO – PAliejus |
Trūksta „AutoLISP“ funkcijų
LISP trūksta kai kurių funkcijų, rastų „AutoLISP“. Dėl dinamiškos LISP prigimties sunku sudaryti galutinį sąrašą. Štai keletas funkcijų, kurių man trūko:
- Visi SQLsusijusios funkcijos, kurios susieja objektus „AutoCAD“ piešimas su įrašais išorinėje duomenų bazės byloje. „AutoCAD“, šios funkcijos prasideda „ase_“, kaip ir ase_lsunite ir ase_docmp.
LISP programavimo kalba
LISP gali naudoti daugybę kaukių: pradedant sudėjus du skaičius - komandos viduryje, parametriniu būdu nubraižant laiptus 3D forma, sukuriant naują BricsCAD vartotojo sąsają, manipuliuojant piešimo duomenų bazės duomenimis ...
Svarbiausias LISP aspektas, mano manymu, yra tai, kad jis leidžia nubraukti kelias kodo eilutes, kad būtų lengviau automatizuoti savo darbą. Kituose įrašuose parodysiu, kaip parašyti paprastą LISP kodą, kad jūsų BricsCAD projekto rengimo diena būtų lengvesnė.
Priešingai, galingiausia BricsCAD programavimo priemonė, vadinama SDS (sprendimų kūrimo sistema), yra tik sąsaja: jūs turite papildomai nusipirkti programavimo įrankius (skaitykite: $$$) ir turėti išsamių žinių apie pažangias programavimo metodikas. Pagrindinis SDS naudojimo pranašumas yra greitis: šios programos vykdo skaičiavimui imamą kodą net 100 kartų greičiau nei LISP.
PAPRASTAS SĄRAŠAS: DIDŲ NUMERIŲ PRIDĖJIMAS
Turėdami šiek tiek fono, pasinerkime į LISP naudojimą. Pradėkime nuo to, kas lengva, apie ką visi žino, sudėję du skaičius, pavyzdžiui, 9 ir 7.
- Paleiskite BricsCAD, bet kurią versiją; nereikia atidaryti piešinio.
- Kai pasirodys komandinė eilutė „:“, įveskite klaviatūros paryškintą šrifto tekstą, parodytą žemiau:
: (+ 9 7) (paspauskite Enter.)
16
:„BricsCAD“ akimirksniu atsaka atsakymą, 16. (Šiuose keliuose kituose pranešimuose aš parodysiu funkciją, apie kurią kalbu, purpurine spalva.) Vis dėlto jums atrodo, kad atsakymas į šį atsakymą (+ 9 7) yra puikus. Taip yra todėl, kad LISP naudoja priešdėlio žymėjimą:
Operatorius + pasirodo prieš operandus, 9 ir 7.
Pagalvok apie tai „pridėk 9 ir 7“. Tai panašu į tai, kaip veikia pats BricsCAD: pirmiausia įveskite komandos pavadinimą (pvz., „Circle“), tada įveskite apskritimo koordinates.
- Atkreipkite dėmesį į skliaustelius, kurie yra LISP teiginyje. Kiekvienas atidarymas skliaustuose (reikalingas uždarymo skliaustas). Aš dabar galiu pasakyti, kad skliaustų balansavimas yra labiausiai gąsdinantis LISP aspektas. Štai kas nutinka, kai paliekate uždarymo skliaustus:
: (+ 9 7 (paspauskite Enter.)
Trūksta: 1) >BricsCAD rodo „Trūksta: 1)“ raginimą pasakyti, kad trūksta vieno uždarymo skliausto. Jei trūktų dviejų skliaustų, paraginimas būtų toks: „Trūksta: 2)“
- Įveskite trūkstamą) ir BricsCAD patenkintas:
Trūksta: 1) >) (paspauskite patvirtinimo mygtuką.)16
: - Skliausteliuose naudojamas antras tikslas: jie įspėja BricsCAD, kad naudojate LISP. Jei turėtumėte įvesti tą pačią LISP funkciją „+ 7 9“ be skliaustų, BricsCAD neigiamai reaguotų į kiekvieną įvestą ženklą, aiškindamas kiekvieną tarpą kaip komandos pavadinimo pabaigą:
: + (Paspauskite tarpo klavišą.)
Neįmanoma atpažinti komandos. Prašau, pabandykite dar kartą.
: 9 (paspauskite tarpo klavišą.)
Neįmanoma atpažinti komandos. Prašau, pabandykite dar kartą.
: 7 (paspauskite tarpo klavišą.)
Neįmanoma atpažinti komandos. Prašau, pabandykite dar kartą.
: - Kaip jau galima įtarti, LISP teikia visas pagrindines aritmetines funkcijas: sudėjimą, atimtį, daugybą,
ir padalijimas. Išbandykite kiekvieną funkciją, pirmiausia atimdami:: (- 9 7)
2
: - Daugyba atliekama naudojantis pažįstamu * (žvaigždute) simboliu:
: (* 9 7)
63
: - Galiausiai padalijimas atliekamas su simboliu / (pasvirasis brūkšnys):
: (/ 9 7)
1
:Oi, tai neteisinga! Padalijus 9 iš 7 yra 1,28571, o ne 1. Kas nutiko? Iki šiol dirbote su sveikaisiais skaičiais (dar vadinamais sveikaisiais skaičiais). Dėl šios priežasties LISP grąžino rezultatus sveikaisiais skaičiais, nors tai nebuvo akivaizdu tol, kol neatlikote padalijimo.
Norėdami dirbti su tikraisiais skaičiais, pridėkite dešimtainę priesagą, kuri gali būti tokia paprasta kaip .0 - tai konvertuoja sveikuosius skaičius į tikruosius skaičius ir verčia LISP atlikti realiųjų skaičių padalijimą taip:: (/ 9.0 7)
1.28571
:O LISP teisingai pateikia atsakymą iki penkių skaitmenų po kablelio.
- Pažiūrėkime, kaip LISP leidžia įterpti skaičiavimus. „Lizdas“ reiškia atlikti daugiau nei vieną skaičiavimą vienu metu.
: (+ (- (* (/ 9.0 7.0) 4) 3) 2)
4.14286
:Atkreipkite dėmesį, kaip skliausteliuose yra lengviau atskirti terminų lizdus.
Kas toliau?
Gerai, kad mes sužinojome, kaip BricsCAD veikia kaip brangus keturių funkcijų skaičiuotuvas, tačiau ši „per brangi skaičiuoklė“ atsitiks, kai įdarbinsite LISP, kad atliktumėte skaičiavimus komandomis. Kitame įraše aš jums parodysiu, kaip galite naudoti LISP, kad nubrėžtumėte septynių apskritimų linijinį masyvą, kad tilptų 9 colių erdvėje.
Pradėkite naudoti „BricsCAD“ šiandien
Nuolatinės arba prenumeruojamos licencijos, veikiančios visomis kalbomis, visuose regionuose.
- Įvadas
- 55 patarimai BricsCAD vartotojams
- Nustatymai
- Aplinkos keitimas
- Individualizuota vartotojo sąsaja
- Įvadas į dialogo langą Tinkinti
- Tinkinkite meniu juostą ir kontekstinius meniu
- Įrankių juostos ir mygtukų piktogramos
- Makrokomandų ir diesel kodo rašymas
- Juostelės juostos ir skydai
- Klavišų paspaudimai, slapyvardžiai ir apvalkalo komandos
- Pelės, dukart spustelėkite ir planšetinio kompiuterio mygtukai
- Absoliučiai viskas, ką reikia žinoti apie keturkojį
- Apvirtimo savybės
- Darbo vietos ir vartotojo sąsaja
- Projektavimo įrankių ir konstrukcijų plokštės
- Sukurti paprasti ir sudėtingi linijiniai tipai
- Rašymo liukai
- Formų ir šriftų dekodavimas
- Kodavimas lauko tekstu
- Rašant scenarijus
- Programavimas naudojant LISP (įvadas)
- LISP funkcijos