- Side 1: Introduktion
- Side 2: Lister og deres elementer
- Side 3: Oprettelse af en variabel
- Side 4: Brug det i AutoCAD
Brug det i AutoCAD
Nu vil vi bruge det, vi gennemgik i del 1, 2 og 3 til at gøre noget konkret i AutoCAD. Til det formål vil vi benytte funktionen getpoint.
getpoint = funktionens navn
[pt] er en liste med to eller tre elementer. x, y og x. Dette input kan undlades
[msg] er en meddelelse til brugeren. Denne kan også undlades
Funktionen returnerer en liste eller nil, hvis brugeren afbryder.
Her er nogle forskellige eksempler på brug af getpoint:
(getpoint “\nAngiv et punkt: “)
(getpoint ‘(0 0 0) “\nAngiv et punkt: “)
Bemærk også. at meddelelsen afsluttes med et mellemrum (efter kolonnet). Dette sikrer, at der bliver en pæn afstand mellem meddelelsen og et evt. indtastet brugerinput. Prøv evt. også selv at se forskellen med og uden mellemrum.
På AutoCADs kommandolinje skriver vi …

of taster Enter.
Herefter bliver vi bedt om at angive Punkt 1 og Punkt 2.
Når vi har angivet punkt 1 og punkt 2, returnerer AutoCAD den sidste værdi – hvilket her er …
punkt 2 = en liste med tre elementer (X Y Z) = (2737.93 845.516 0.0)
Hermed har vi gemt to punktværdier i variablerne P1 og P2. Både P1 og P2 er lister, men hvor indholdet i tidligere eksempler har være tekststrenge som “Hund”, “Kat”, “Hest” etc., består elementerne i listerne nu af talværdier … nærmere betegnet en x-, y- og z-værdi.
Vi kan let få vist værdierne af P1 og P2 på kommandolinjen.
Vi taster blot !P1 eller !P2, og vi får returneret værdierne.

Lad os få AutoCAD til at tegne en linje fra P1 til P2.
Almindeligvis vil vi tegne en linje ved. f.eks. at kalde kommandoen “line” på kommandolinjen, hvorefter AutoCAD vil bede os om at angive to eller flere punkter. Sådan her:

Men her vil vi nu benytte os af LISP-funktionen Command, der simpelthen kalder en almindelig AutoCAD-kommando.
command = funktionens navn
[arguments] = en række elementer, som de ville være kommet, hvis vi havde tastet den valgte kommando normalt på kommandolinjen
Når vi nu vil tegne en linje fra P1 til P2, ser det sådan her ud:
I LISP-funktionen Command gælder hvert mellemrum for et Enter på kommandolinjen. Vi beder her funktionen Command om at kalde kommandoen “line”, og på det sted, hvor AutoCAD normalt beder os om at angive punkter, indsætter vi i stedet vores variabler P1 og P2. Herefter afslutter vi med “” for at fortælle AutoCAD, at vi ikke vil angive flere punkter.
Vi skriver (command “line” P1 P2 “”) på kommandolinjen og taster Enter.
Prøv det selv, så du kan konstatere, at AutoCAD helt som ønsket har tegnet en linje fra P1 til P2.
Lige lidt mere vedr. funktionen command
Visse kommandoer, som f.eks. LAYER, viser som standard slet ikke noget kommandolinje-input, I stedet åbner kommandoen AutoCADs Layer-dialogboks.
Hvis vi på forhånd ønsker at teste en sådan kommandosekvens, kan vi gøre det ved i stedet at taste -LAYER. Dette aktiverer AutoCAD kommandolinje-version og åbner ikke dialogboksen.
Her er et eksempel på dette:
Command: -LAYER
Current layer: “Viewports”
Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/
MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile/Xref]:
Hvis vi tænker os, at …
- det aktive lag er lag “0”
- og vi ved at der findes et lag, der hedder “Hjælpelag”
- og vi gerne vil skifte til laget “Hjælpelag”
kan vi først afprøve kommandosekvensen sådan her:
Command: -LAYER
Current layer: “0”
Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/
MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile/Xref]:
Set
Enter layer name to make current or :
Hjælpelag
Enter an option [?/Make/Set/New/Rename/ON/OFF/Color/Ltype/LWeight/TRansparency/MATerial/Plot/Freeze/Thaw/LOck/Unlock/stAte/Description/rEconcile/Xref]:
Enter (afslutter LAYER-kommandoen)
Vores LISP-kode skal derfor se sådan her ud:
Hermed slut på første lektion om nogle af de mest brugte AutoLISP-funktioner.
Næste lektion: