Šiame įraše apžvelgiame galingiausią „ne programuotojams“ prieinamą metodą, tinkinantį BricsCAD - LISP programavimo kalbą. Šiame įraše sužinokite, kaip naudoti LISP BricsCAD, pateikdami praktinį pavyzdį. Puslapio apačioje yra LISP funkcijų apžvalga.

Nors įrankių juostą ir meniu makrokomandas lengva rašyti ir redaguoti, jos riboja jūsų galimybes valdyti BricsCAD.

Norėdami gauti visą LISP komandų, skirtų BricsCAD, apžvalgą, galite peržiūrėti oficialius, BricsCAD LISP kūrėjo vadovas.


Šiame įraše aptariamos šios temos:


LIETUVOS KOMANDOS

Gerai, todėl pažiūrėkime, kaip naudoti LISP kodą praktiniam tikslui. Pvz., Gali tekti nubrėžti linijinį septynių apskritimų masyvą, kad tilptų 9 colių erdvėje.

  1. Paleiskite komandą „Circle“ taip:

    : apskritimas
    „2Point / 3Point / RadTanTan / Arc / Multiple /: (Pasirinkite tašką.)

  2. Užuot įvedę skersmens vertę, įveskite LISP lygtį taip:

    Skersmuo /: (/ 9.0 7)
    Skersmuo /: 1,28571

    BricsCAD nubrėžia apskritimą, kurio skersmuo 1,28571 colio. Galite naudoti atitinkamą LISP funkciją bet kuriuo metu, kai BricsCAD tikisi vartotojo įvesties.

  3. Dabar pereikite prie komandos „Array“ ir nubrėžkite kitus šešis apskritimus taip:

    : masyvas
    Pasirinkite subjektus, kuriuos norite sudaryti: L
    Subjektai rinkinyje: 1 Pasirinkite subjektus, kuriuos norite sudaryti: (Paspauskite ENTER.)
    Masyvo tipas: Polar /: r
    Eilučių skaičius masyve <1>: (Paspauskite ENTER.)
    Stulpelių skaičius <1>: 7
    Horizontalus atstumas tarp stulpelių: (/ 0.9 7)
    Horizontalus atstumas tarp stulpelių: 0.128571

    Dar kartą, naudodamiesi LISP, nurodykite masyvo tarpą, kuris lygus apskritimo skersmeniui.

REZULTATŲ PRIMINIMAS: SETQ

Aukščiau pateiktame pavyzdyje du kartus panaudojote (/ 9.0 7) lygtį: vieną kartą komandoje „Circle“ ir dar kartą „masyve“. Kaip ir M klavišas skaičiuotuve leidžia atsiminti jūsų skaičiavimo rezultatą, LISP gali būti sudarytas taip, kad atsimintų visų jūsų skaičiavimų rezultatus.

Norėdami tai padaryti, naudokite labiausiai paplitusią LISP funkciją, vadinamą setq. Ši įdomiai pavadinta funkcija
trumpas iki „SET eQual“ iki.

  1. Norėdami išsaugoti skaičiavimo rezultatą, naudokite setq funkcija kartu su kintamuoju:

    : (setq x (/ 9,0 7))
    1.28571
    :

    Čia x prisimena skaičiavimo (/ 9.0 7.0) rezultatą. Atkreipkite dėmesį į papildomą skliaustelių rinkinį. Iš algebros klasės tikriausiai prisimenate lygtis, pvz., „X = 7 + 9“ ir „x = 7/9“. X yra žinomas kaip kintamasis, nes jis gali turėti bet kokią reikšmę.

  2. Norėdami įrodyti sau, kad x reikšmė yra 1.28571, naudokite BricsCAD! (šauktukas) priešdėlis taip:

    !x
    1.28571
    :

    ! prefiksas (kartais vadinamas „sprogimu“) yra naudingas norint priminti apie kintamojo reikšmę, jei pamiršote ar norėtumėte sužinoti, kas nutiko skaičiavimo metu.
    LISP neapsiriboja tik vienu kintamuoju. Galite sudaryti bet kokį simbolių derinį, kad sukurtumėte kintamus pavadinimus, pvz pt1, skersmensir yvalue. Vienintelis apribojimas yra tai, kad negalite naudoti LISP funkcijų pavadinimų, tokių kaip setq, Tir getint. Tiesą sakant, gera kurti kintamus pavadinimus, atspindinčius turinį, pvz., Apskritimo skersmenį, apskaičiuotą aukščiau. Bet jūs taip pat norite subalansuoti apibūdinamąjį pavadinimą, pvz., Skersmenį, su kuo mažiau rašyti, pvz., X. Geras kompromisas yra dia.

  3. Vieną kintamąjį lygiate su kitu taip:

    : (setq dia x)
    1.28571

    :! dia
    1.28571
    :

  4. Pakartokite komandas „Circle“ ir „Masyvas“, šį kartą naudodamiesi kintama dia, taip:

    : apskritimas
    „2Point“ / „3Point“ / „RadTanTan“ / „Arc“ / „Multiple“: (Pasirinkite tašką.)
    Skersmuo /: ! dia
    Skersmuo /: 1.28571
    : masyvas
    Pasirinkite subjektus, kuriuos norite sudaryti: L
    Rinkinyje esantys subjektai: 1 Pasirinkite masyvus subjektus: (Paspauskite ENTER.)
    Masyvo tipas: Polar /: r
    Eilučių skaičius masyve <1>: (Paspauskite ENTER.)
    Stulpelių skaičius <1>: 7
    Horizontalus atstumas tarp stulpelių: ! dia
    Horizontalus atstumas tarp stulpelių: 0.128571

    BricsCAD nupiešia tiksliai tuos pačius septynis apskritimus, naudodama 1,28571 reikšmę, saugomą dia.

LISP funkcijos apžvalga

LISP yra toks galingas, kad juo galima manipuliuoti beveik bet kokiu BricsCAD brėžinio aspektu. Šiame vadove rasite įvairių funkcijų, kurias LISP siūlo manipuliuoti skaičiais ir žodžiais, rūšių. Pradėję savo apžvalgos turą po keletą LISP funkcijų grupių, paleiskite BricsCAD, tada įveskite pavyzdžius Skubi istorija langas (paspauskite F2) komandų eilutėje „:“.

MATEMATINĖS FUNKCIJOS

Be keturių pagrindinių aritmetinių funkcijų, LISP turi ir daugelį matematinių funkcijų, kurių galite tikėtis programavimo kalba. Į sąrašą įtrauktos trigonometrinės, logaritminės, loginės ir bitų manipuliavimo funkcijos; vienos rūšies funkcijos, kuriai trūksta, yra manipuliavimas matrica.

Pavyzdžiui, min funkcija grąžina mažiausią (minimalų) skaičių sąrašą:

: (min 7 3 5 11)
3

Norėdami prisiminti šios funkcijos rezultatą, pridėkite setq su kintama minnbr, taip:

: (setq minnbr (mažiausiai 7 3 5 11)
3

Dabar kiekvieną kartą, kai norite nurodyti mažiausią tos skaičių sekos vertę, galite nurodyti kintamąjį minnbr. Štai trig funkcijos sinuso pavyzdys:

: (nuodėmė minnbr)
0.14112

Grąžina 3 radianų kampo sinusą.

PATARIMAS Turite pateikti kampą radianais, o ne laipsniais. Tai daug kartų sukelia nepatogumų, nes dažnai jūs dirbate su laipsniais, tačiau turite juos paversti radianais.

Laimei, LISP gali tai padaryti už jus, jei teisingai koduosite. Prisiminkite, kad 360 laipsnių kampu yra 2 * pi (maždaug 6,282) spinduliai. Pvz., Norėdami gauti 45 laipsnių sinusą, turite leisti kai kuriuos išgalvotus pėdsakus:

: (nuodėmė (* (/ 45 180.0) pi))
0.707107

Čia aš padalinau laipsnius (45) iš 180, tada padauginau iš pi. 45 arba 180 reikia dešimtosios dalies (.0), kad būtų padalijama iš realiųjų skaičių, o ne pagal sveikus skaičius.

Beje, pi yra vienintelė iš anksto nustatyta LISP konstanta ir yra lygi 3.1415926. Tai reiškia, kad jūs tiesiog rašote pi, o ne 3.1415926 kiekvieną kartą reikia funkcijos pi vertės. Norėdami tai pamatyti patys, naudokite šauktuką komandinėje eilutėje:

: ! pi
3.14159

LISP rodo rezultatą iki šešių dešimtųjų tikslumu, net jei jis ir skaičiuoja 32 bitų tikslumu.

GEOMETRINĖS FUNKCIJOS

Kadangi CAD susijęs su geometrija, LISP turi daugybę funkcijų, susijusių su geometrija.

Atstumas tarp dviejų taškų

LISP atstumas funkcija panaši į BricsCAD Dist komanda: jis grąžina 3D atstumą tarp dviejų taškų. Norėdami pamatyti, kaip tai veikia, pirmiausia priskirkite x, y koordinates taškų porai, p1 ir p2, taip:

: (setq p1 ‘(1.3 5.7)) (1.3 5.7)
: (setq p2 ‘(7.5 3.1 11)) (7.5 3.1 11)
: (atstumas p1 p2) 6.72309

Galbūt praleidote tą vieną kabučių ženklą prieš x, y-koordinačių sąrašą, kaip nurodyta: '(1.3 5.7). Tai sako, kad LISP kuriate pora (arba trigubas x, y, z) koordinačių atveju ir kad ji neturėtų įvertinti skaičių. Techniškai ženklas sukuria sąrašą skaičių.

Norėdami atskirti koordinates, naudokite tarpus, o ne kablelius. Atminkite, kad kai paliekate z koordinatę, LISP mano, kad ji lygi 0,0000.

Kampas nuo 0 laipsnių

Kitos dominančios geometrinės funkcijos apima kampo nuo 0 laipsnių (paprastai nukreipto į rytus) iki linijos, apibrėžtos p1 ir p2:

: (kampas p1 p2)
5.88611

Rezultatas grąžinamas radianais: 5.88611.

Dviejų linijų sankirta

Dviejų linijų sankirtą lemia inters funkciją:

: (inters pt1 pt2 pt3 pt4)

Subjektas snaps

Vykdydami šią funkciją, rasite linijos vidurį, kuris prasideda nuo p1. Jūs taikote osnap funkcija ir nurodykite osnap tipą; LISP grąžina objekto momentinio taško x, y, z koordinates. Subjektas iš tikrųjų turi egzistuoti.

: linija
Iš taško: ! p1
Parodyti: ! p2
Parodyti: (Paspauskite įeiti.)
: (osnap p1 „vidurys“)
(4.4 4.4 5.5)

Čia „Vidurys“ nurodo vidutinio taško subjekto momentinį režimą.

Kitos geometrinės funkcijos apima: teksto dėžutė (ieškant stačiakampio teksto eilutės kontūro) ir Poliarinis, kuris grąžina nurodyto atstumo ir kampo 3D tašką.

SĄLYGINĖS FUNKCIJOS

Galima sakyti sąlyginis funkcijos yra svarbiausios, nes jos nusako programavimo kalbos egzistavimą. Sąlygos leidžia kompiuterio programai „mąstyti“ ir priimti sprendimus. Sąlyginės funkcijos patikrina, ar vienos vertės vertė yra mažesnė, lygi ar didesnė už kitos vertės. Jie patikrina, ar kažkas yra tiesa; arba jie pakartoja veiksmą, kol kažkas neteisingo.

Jei nesate tikri, ar tai programavimo kalba, ar tik makro kalba, patikrinkite, ar nėra sąlyginių sąlygų.

Pvz., Įrankių juostos makrokomandas neturi jokių sąlygų; jie nėra programavimo kalba.

Čia yra sąlyginių funkcijų veikimo pavyzdys: if atstumas nuo grindų iki lubų yra didesnis nei aštuonios pėdos, tada nupieškite 14 žingsnių; Kitas, nubrėžkite 13 žingsnių. Atkreipkite dėmesį, kad teiginį sudaro dvi dalys: if dalis yra tikroji dalis; Kitas dalis yra klaidinga dalis. Darykite ką nors, jei tai tiesa; kitaip, taigi kažkas kita, jei tai melaginga.

Panaši formuluotė vartojama ir LISP būklės funkcijose. Raginime „:“ įveskite:

: (if (> aukštis 96) (nustatykite 14 žingsnių) (nustatykite 13 žingsnį)) 13

Padalinkime šį kodą norėdami pamatyti, kaip if funkcija lyginama su mūsų teiginiu:

(jei Jei
(> geresnis negu
ūgio atstumas nuo grindų iki lubų yra
96) 8 pėdos;
Tada
(nustatykite 14 žingsnių) naudokite 14 žingsnių.
Kitas
(nustatykite 13 žingsnių) naudokite 13 žingsnių.
)

Kitos sąlygos

if funkcija apsiriboja tik vienos sąlyginės būklės įvertinimu. cond funkcijos įvertina daugelį sąlygų. pakartoti funkcija vykdo tam tikrą skaičių kartų, o kol funkcija vykdo kodą tol, kol ji yra tiesa.

STRINGO IR KONVERTAVIMO FUNKCIJOS

Galite manipuliuoti eilutes (tekstas, sudarytas iš vieno ar daugiau simbolių) LISP, bet mažesne dalimi nei skaičiai. Pavyzdžiui, stygos ilgį galite rasti taip:

: (strlen „BricsCAD pasaulis“)
16

strlen (trumpai STRING ILGIS) funkcija nurodo, kad „BricsCAD World“ turi 16 simbolių, skaičiuojant tarpą. Atkreipkite dėmesį, kaip „BricsCAD World“ yra kabutėse. Tai sako LISP, kad dirbate su eilute, o ne su kintamuoju.

Jei turėtumėte rašyti („strlen BricsCAD World“), LISP bando nustatyti stygų, kurias laiko kintamieji BricsCAD ir pasaulis, ilgį. Pavyzdžiui:

: („setq BricsCAD“ „Programinės įrangos paketas“) “Programinės įrangos paketas “
: („setq“ pasaulis - „Žemės planeta“)
Žemės planeta “
: (strlen BricsCAD pasaulis)
34

Jungiamosios teksto stygos

Kitos eilutės funkcijos keičia visus ženklus į didžiąsias ar mažąsias raides (strcase), grąžina eilutės dalį (substr), ieško ir pakeičia tekstą eilutėje (subst) ir sujungia dvi stygas kartu (strcat) taip:

: (strcat BricsCAD “naudojamas visame pasaulyje”)
„Programinės įrangos paketas, naudojamas visoje Žemės planetoje“

Taip kuriate ataskaitas, pvz., „13 nubrėžtų žingsnių“, maišant kintamuosius ir tekstą.

Konvertuoti iš teksto ir skaičiaus

Su stygų funkcijomis susijusios konvertavimo funkcijos, nes kai kurios iš jų konvertuoja į stygas ir iš jų. Pavyzdžiui, anksčiau aš parodžiau, kaip paversti laipsnius radianais. Tai tinka dešimtainiams laipsniams, pvz., 45,3711 laipsniams. Bet kaip konvertuoti 45 laipsnius, 37 minutes ir 11 sekundžių, kurią BricsCAD žymi kaip 45d37'11 “? Štai kur tokia konvertavimo funkcija angtof (trumpai Kampas iki slankiojo kablelio) paverčia. Jis konvertuoja kampo eilutę į realaus skaičiaus radianus:

: (angtof „45d37'11 \“ “1)
0.796214

Čia mes tiekėme angtof su kampu laipsniais, minutėmis-sekundėmis. Tačiau LISP nėra pakankamai protingas žinoti, todėl mes apie tai pasakojame naudodamiesi režimas skaičius, 1 šiuo atveju.

Ši (ir kai kurios kitos funkcijos) kaip režimo kodai naudoja šias funkcijas:

Režimas
Reikšmė
Pavyzdys
0 Dešimtainiai laipsniai 45.3711
1 Laipsniai-minutės-sekundės 45d 37 ′ 11 ″
2 Gradas 100.1234
3 Radianas 0.3964
4 Matininko vienetai N 45d37'11 ″ E

Atkreipkite dėmesį į režimų skaičių ir sistemos kintamojo reikšmių panašumą AU vienetai - ir dyzelino naudojami režimai. Atsitiktinumas nėra atsitiktinumas. Kai iš anksto nežinote, koks yra dabartinis vienetų nustatymas, pasinaudojate šiuo faktu nurodydami režimo numerį kaip kintamąjį:

: (ang. „45d37'11 \“) (getvar „Tetos“))
0.796214

Čia mes naudojame getvar (trumpai GAUTI KINTAMĄ), LISP funkcija, kuri gauna sistemos kintamojo vertę. Mes naudojom getvar gauti tetos, išlaikanti kampinio ekrano būseną, kurią nustato Units (Vienetai) komandą.

Atkreipkite dėmesį, kaip naudojamas sekundžių indikatorius (”):”. Taigi taip nereikia supainioti su uždarąja kabute (“), nurodančia eilutės pabaigą.

Kitos konvertavimo funkcijos

Kitos konvertavimo funkcijos konvertuoja vieną matavimo vienetą į kitą (per cvunitas funkcija ir pagal nutylėjimą.sunku failas), sveikas skaičius į eilutę (itos), simbolį į jo ASCII reikšmę (ascii: pavyzdžiui, raidė A paverčiama ASCII reikšme 65) ir verčia (perkelia) tašką iš vienos koordinačių sistemos į kitą (trans).

pagal nutylėjimą.sunku failas randamas C: \ Vartotojai \\ „AppData \ tarptinklinis ryšys \ Bricsys \ BricsCAD \ V20 \ lt_LT \ palaikymas aplankas.

IŠORĖS VALDYMO FUNKCIJOS

„Galingas“ dažnai prilygsta „sudėtingam“, tačiau viena iš galingiausių LISP funkcijų yra paprasčiausia suprasti: komandų funkcija. Kaip rodo jo pavadinimas, komandų vykdo BricsCAD komandas iš LISP.

Pagalvokite apie tai: tai reiškia, kad LISP nubrėžti apskritimą, sudėti tekstą, padidinti rodinio sritį yra labai svarbu. Bet ką tipo komandų eilutėje „:“ galima su komandų funkcija. Pažiūrėkime kaip komandų darbai piešiant apskritimą. Vis dėlto pirmiausia prisiminkime, kaip Apskritimas komanda veikia:

: apskritimas
2 taškas / 3 taškas / „RadTanTan“ / lankas / keli /

: 2,2
Skersmuo / : D
Apskritimo skersmuo: 1.5

Perjungimas į komandų Jei norite naudoti funkciją, imituojate tai, ką rašote spustelėję „:“ raginimą, kaip nurodyta toliau.

: (komandų „Apskritimas“ „2,2“ „D“ „1,5“)

Atkreipkite dėmesį, koks visas įvestas tekstas yra kabutėse. Įvedę tą kodo eilutę, BricsCAD reaguoja nubrėždami apskritimą:

: apskritimas
2 taškas / 3 taškas / „RadTanTan“ / lankas / keli /

: 2,2
Skersmuo / <1.2857>: D
Apskritimo skersmuo <2,5714>: 1,5

Pažvelkime į vieną iš sudėtingesnių komandų, kurias reikia naudoti su komandų funkcija, Tekstas. Kai mes naudojame Tekstas komanda, BricsCAD pateikia šiuos raginimus:

: tekstas
Tekstas: Stilius / Lygiuoti / Tinka / Viduryje / Viduryje / Dešinėje / Pateisinti / : 5,10
Teksto aukštis <0,2000>: 1.5
Teksto pasukimo kampas <0>: (Paspauskite įeiti.) Tekstas: Siuvimas BricsCAD

Pavertus LISP objektais, tai tampa:

: (komanda „tekstas“ „5,10“ „1,5“ „“ „„ BricsCAD pritaikymas “)

BricsCAD reaguoja taip:

: tekstas
Tekstas: Stilius / Lygiuoti / Tinka / Viduryje / Viduryje / Dešinėje / Pateisinti / : 5,10  Height of text <1.5000>: 1.5  Rotation angle of text <0>:  Text: Tailoring BricsCAD ir tada nupiešia tekstą.

Norėdami greitai pateikti pasukimo kampą:, mes tiesiog paspaudėme įeiti Raktas. Atkreipkite dėmesį, kaip tai atliekama naudojant LISP funkciją: „“ - tuščių kabių pora.

Jūs naudojate tą patį „“, norėdami baigti komandas, kurios automatiškai kartojasi, pvz., Linija komandą:

: (komanda „eilutė“ „1,2“ „3,4“ “”)

Kai neįtrauksite to galutinio „“, tada paliksite BricsCAD pakabintą su raiška „Pabaigos taškas:“ ir jūsų LISP rutina nepavyks.

Iki šiol jums turėtų būti aišku, kad turite iš tikrųjų žinoti greitą BricsCAD 100 s komandų seką, kad galėtumėte efektyviai dirbti su komandų funkcija. Lengviausias būdas su jais susitvarkyti yra nusipirkti vieną iš „greitųjų nuorodų“ knygų rinkoje, kurioje nurodytos komandos abėcėlės tvarka kartu su visa greita seka. Ir, kaip matome per minutę, patikrinkite, ar greitojoje knygoje yra visų sistemos kintamųjų sąrašas, jų numatytoji vertė ir leistinų verčių diapazonas.

Arba patikrinkite BricsCAD pagalbos centras.

Komandos funkcijos apribojimas

Bet komandų funkcija neveikia. Anksčiau aš sakiau: „Viskas, ką tu tipo komandų eilutėje „:“ galima su komandų funkcija." Dabar aš akcentuoju žodį „tipas“. komandų Funkcija visiškai sugenda, kai kalbama apie dialogo langus. Teisingai: bet kuri komanda, naudojanti dialogo langą, neveiks kartu su komandos funkcija, taip pat ir su makrokomandomis, kurias apžiūrėjome ankstesniuose įrašuose. Būtent dėl šios priežasties BricsCAD apima beveik kiekvienos (bet ne visos) komandos komandinės eilutės versijas.

Prieiga prie sistemos kintamųjų

Nors galite naudoti komandų funkcija pasiekti sistemos kintamuosius, LISP turi porą tiesioginių funkcijų: getvar ir setvar.  

Getvaras gauna sistemos kintamojo reikšmę, o setvar keičia (nustato) reikšmę.

Pavyzdžiui, sistemos kintamasis „SplFrame“ nustato, ar rodomas splaino polilinijos rėmelis; pagal numatytuosius nustatymus vertė „SplFrame“ yra 0: kadras nerodomas, kaip patvirtinta getvar:

: (getvar „Splframe“)
0

Norėdami parodyti rėmelį, pakeiskite „SplFrame“ į 1 su setvar taip:

: (setvar „Splframe“ 1)
1

Tačiau mes padarėme keistą prielaidą: kad pradinė vertė „SplFrame“ yra 0. Nulis yra numatytoji vertė, bet nebūtinai vertė tuo metu, kai vykdote LISP rutiną. Kaip mes žinome, kokia vertė „SplFrame“ yra prieš mes jį pakeisti? Į šį klausimą atsakysime vėliau. Stebėkite.

„GETXXX“ FUNKCIJOS

Tai vienas dalykas vykdyti komandą, kuri nupiešia naują objektą, pvz., Apskritimą ir tekstą, kurį aukščiau nupiešėme su komandų funkcija. Sudėtingiau yra dirbti su jau egzistuojančiais subjektais, pavyzdžiui, perkelti tą ratą ar redaguoti tekstą. Štai kur funkcijų grupė, bendrai žinoma kaip „Getxxx“ ateina į žaidimą. Šios funkcijos gauna duomenis iš ekrano. Keletas naudingesnių yra šie:

gauti tašką - Gauna pasirinkto taško x, y, z koordinatę.
susikaupti - Grąžina kampą radianais.
pasireiškia - Grąžina vartotojo įvestą tekstą.
getreal - Gauna realaus vartotojo įvesto skaičiaus vertę.

Štai kaip naudoti kai kuriuos iš jų su komanda „Tekstas“. Pakartokime kodą taip, kad jį pakeistume
kad LISP pirmiausia mus prašo visko, tada vykdo komandą Tekstas. Čia yra pirmoji eilutė
kodas, kuris ragina vartotoją įvesti tam tikrą tekstą:

: (setq TxtStr (pasidaro T „Ką tu nori parašyti? “))
Ką tu nori parašyti?

Atkreipkite dėmesį, kad papildomas „T“; tai yra išeitis, kuri leidžia pasidaro priimti teksto eilutę su tarpais. Kai išeisite iš T, tada pasidaro priima tekstą tik iki pirmos tarpo. Jei įvestumėte „Tailoring BricsCAD“, galų gale turėtumėte tik „Siuvimas“, o ne „BricsCAD“.

Taip pat aukščiau esančioje kodo eilutėje setq funkcija saugo frazę, tokią kaip „BricsCAD pritaikymas“, kintamajame TxtStr.

Kitoje kodo eilutėje mes naudojame getreal funkcija paprašyti teksto aukščio, kuris yra tikrasis skaičius (dešimtainis), kurį įvedė vartotojas.

: (setq TxtHt (getreal „Kiek tu nori raidžių? “))
Kiek tu nori raidžių? 2
2.0

Atkreipkite dėmesį, kaip getreal paverčia 2 (sveikasis skaičius) tikruoju skaičiumi, 2,0. Vertė saugoma kintamajame TxtHt.

Kitas, mes naudojame susikaupti funkcija paprašyti teksto pasukimo kampo:

: („setq TxtAng“susikaupti „Kiek pakreipti tekstą? “))
Pakreipkite tekstą kiek? 30
0.523599

Atkreipkite dėmesį, kaip susikaupti 30 (dešimtainis laipsnis) paverčia radianais, 0.523599. Vertė saugoma kintamajame TxtAng.

Tada mes naudojame gauti tašką funkcija paprašyti vartotojo įterpti teksto tašką:

: („setq TxtIns“gauti tašką „Kur norite, kad tekstas prasidėtų? “))
Kur norite, kad tekstas prasidėtų? (Pasirinkite tašką.)
(27.8068 4.9825 0.0)

Atkreipkite dėmesį, kaip gauti tašką grąžina koordinatės x, y ir z reikšmes, nors z yra lygus nuliui. Vartotojas gali pasirinkti tašką ekrane arba įvesti koordinačių porą (x, y) arba trigubą (x, y, z).

Galiausiai vykdome Tekstas komanda su keturiais kintamaisiais:

: (komanda „text“ TxtIns TxtHt TxtAng TxtStr) tekstas pateisinti / stilius:
Aukštis <1.5000>: 2.000000000000000
Sukimosi kampas <0>: 0,523598775598299
Tekstas: BricsCAD siuvimas
: nulis

Ten! Mes ką tik pritaikėme Tekstas komanda mūsų skoniui. Mes ne tik pakeitėme vartotojo nurodymus, bet ir naudodamiesi LISP, kad pakeistume nurodymų tvarką.

ATRANKOS FUNKCIJOS

Norėdami dirbti su daugiau nei vienu subjektu vienu metu, LISP turi funkcijų grupę, skirtą atrankos rinkiniams kurti. Visi jie prasideda raide „SS“, kaip:

  • „SsAdd“ Prideda subjektus prie atrankos rinkinių.
  • „SsDel“ Ištrina subjektus iš atrankos rinkinių.
  • „SsGetFirst“ Pateikia pasirinktų subjektų skaičių.
  • „SsLength“ Pateikia atrankos rinkinyje esančių subjektų skaičių.
  • „SsMemb“ Tikrina, ar subjektai yra atrankos rinkinio dalis.
  • SsName Nurodo n-ąjį atrankos rinkinio subjektą.
  • „SsSetFirst“ Pabrėžia objektus pasirinkimo rinkinyje.

BricsCAD Select (Pasirinkite) komanda vienu metu gali veikti tik su vienu pasirinkimo rinkiniu; priešingai, LISP SSxxx komandos gali veikti su iki 128 pasirinkimo rinkinių.

BENDRIJOS MANIPULIAVIMO FUNKCIJOS

Tikrai galingos LISP funkcijos yra tos, kurios eina į priekį ir manipuliuoja piešimo duomenų baze. Skirtingai nuo komandų funkcija, kuri yra galinga, bet paprasta, subjekto manipuliavimo funkcijos yra galingos ir sudėtingos. Čia yra tam tikrų šių dalykų santrauka:

  • „EntMake“ Sukuria naujų subjektų.
  • „EntGet“ Gauna duomenis, apibūdinančius objektus brėžiniuose.
  • „EntMod“ Keičia subjektus.
  • „EntDel“ Ištrina subjektus iš duomenų bazės.
  • TblObjName Gauna subjektų pavadinimus simbolių lentelėse.

„Ent“ prefiksas yra trumpas subjektui. „Simbolių lentelė“ nurodo piešimo duomenų bazės dalį, kurioje saugomi brėžinių sluoksnių pavadinimai, teksto stiliai ir kiti įvardyti subjektai.

Norėdami sukurti ir manipuliuoti subjektais, šios LISP funkcijos veikia su DXF formato variantu, vadinamu „punktyrinėmis poromis“. Pavyzdžiui, norėdami dirbti su sluoksniu pavadinimu „RightOfWay“, naudojate šį formatą:

„2. „RightOfWay“

Kabutės nurodo duomenų pradžią ir pabaigą, o taškas viduryje skiria dvi reikšmes: 2 yra sluoksnių pavadinimų DXF kodas ir „RightOfWay“ yra sluoksnio pavadinimas. Galite pastebėti, kad norint dirbti su šiomis subjektų manipuliavimo funkcijomis, reikia gerai suvokti DXF formatą.

IŠANKSTINĖS LISPO FUNKCIJOS

Yra daugybė LISP funkcijų, kurių niekada negalėsite naudoti per savo BricsCAD programavimo karjerą. Pavyzdžiui, yra LISP funkcijos atminties valdymui, tokios kaip gc (šiukšlių rinkimas) ir mem (atminties būsena). Kitas LISP funkcijų rinkinys yra skirtas tik dialogo langų, tokių kaip, įkėlimui ir rodymui „load_dialog“ ir naujas_dialogas.


Atsisiųskite BricsCAD 30 dienų nemokamai

Pradėkite naudoti „BricsCAD“ šiandien

Nuolatinės arba prenumeruojamos licencijos, veikiančios visomis kalbomis, visuose regionuose.


  1. Įvadas
  2. 55 patarimai BricsCAD vartotojams
  3. Nustatymai
  4. Aplinkos keitimas
  5. Individualizuota vartotojo sąsaja
  6. Įvadas į dialogo langą Tinkinti
  7. Tinkinkite meniu juostą ir kontekstinius meniu
  8. Įrankių juostos ir mygtukų piktogramos
  9. Makrokomandų ir diesel kodo rašymas
  10. Juostelės juostos ir skydai
  11. Klavišų paspaudimai, slapyvardžiai ir apvalkalo komandos
  12. Pelės, dukart spustelėkite ir planšetinio kompiuterio mygtukai
  13. Absoliučiai viskas, ką reikia žinoti apie keturkojį
  14. Apvirtimo savybės
  15. Darbo vietos ir vartotojo sąsaja
  16. Projektavimo įrankių ir konstrukcijų plokštės
  17. Sukurti paprasti ir sudėtingi linijiniai tipai
  18. Rašymo liukai
  19. Formų ir šriftų dekodavimas
  20. Kodavimas lauko tekstu
  21. Rašant scenarijus
  22. Programavimas naudojant LISP (įvadas)
  23. LISP funkcijos