Les drie. Vormen van data in AutoLISP

Vergelijkbare documenten
Les twee. AutoLISP in een notendop

Les een. De Visual LISP Editor

Les vier. Lijsten. Construeren en Manipuleren. door. Joop F. Moelee

copyrighted image removed Mark Bakker 1

Gebruikershandleiding Versie 1.07

Find Neighbor Polygons in a Layer

Waarom? Wat? Hoe? door. Joop F. Moelee. een gelovig volger van de Sacrale Kunst van Luiheid zijn Hoge Priester Lisp en Acoliet Script

JOB OPENING OPS ENGINEER

bla bla Open-Xchange-server OXtender voor SyncML

Quarantainenet Qdetect Tester

Handleiding Remote Engineer Portal

Inhoudsopgave. 1 OX Updater Mogelijkheden Werking: iii

Orbis. Partnerportal. Orbis Software

Gebruikershandleiding Version 1.2

Vakgroep CW KAHO Sint-Lieven

SwyxIt! Handset P280. Design en functionaliteit perfect gecombineerd. Versie: augustus 2012

Gebruikershandleiding Scan-It NEN 3140 Version: 1.1

FIST-RSKG-4. Gel afdichting voor de ronde kabelpoorten van de FIST-GCO2-BX6, FX6 en BX8 lasmof. Inhoud. 1 Algemeen. 2 Kit inhoud

Handleiding Sonus Communicator voor Rion NL-22 - NL-32

NS Serie 500/600 Dieselelectrische Locomotief. Versie 1.3

7 aug Snelstart document Thecus N2100 Y.E.S.box BlackIP Versie 1.0

Gebruik van het LOGO in geautomatiseerde verkiezingen

Open-Xchange Server. What's new in 6.20?

Table of Contents. FireFox...1. Firefox installeren op OS X...2 Firefox downloaden...2. Firefox installeren op Windows...6 Firefox Downloaden...

Orbis Software. Exact. Integration Tools. Dit document bevat de Release Notes voor: - Exact Globe Integration Tool v x

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

LONDEN MET 21 GEVARIEERDE STADSWANDELINGEN 480 PAGINAS WAARDEVOLE INFORMATIE RUIM 300 FOTOS KAARTEN EN PLATTEGRONDEN

Tilburg University. Dienstenkeurmerken misbruikt Roest, Henk; Verhallen, T.M.M. Published in: Tijdschrift voor Marketing. Publication date: 1999

Overview. Beveiligde functies. Microsoft Dynamics NAV dvision Automatiseringsbureau.

Overview. Zorgsector. Microsoft Dynamics NAV dvision Automatiseringsbureau.

Tilburg University. Technieken van kwalitatief onderzoek 1 Verhallen, T.M.M.; Vogel, H. Published in: Tijdschrift voor Marketing

Tilburg University. Energiebesparing door gedragsverandering van Raaij, Fred; Verhallen, T.M.M. Published in: Psychologie. Publication date: 1982

DHL Parcel / DHL4You. Een OpenCart x verzend optie. Gerrit Bouweriks

Tilburg University. Huishoudelijk gedrag en stookgasverbruik van Raaij, Fred; Verhallen, T.M.M. Published in: Economisch Statistische Berichten

Handleiding Programmeren en bewerken CAM (graveermachine) Aan de slag. in beroep en bedrijf. Handleiding Programmeren en bewerken CAM (graveermachine)

Orbis Software. Prijslijst. Producten. Deze prijslijst geeft u meer informatie over de verschillende producten van Orbis Software Benelux BV.

Een korte samenvatting van enkele FORTRAN opdrachten

Aan deze vertaling kunnen geen rechten worden ontleend.

Tilburg University. Canonische analyse in markt- en marketingonderzoek Kuylen, A.A. A.; Verhallen, T.M.M. Published in: Tijdschrift voor Marketing

Het opschorten van de handel op de Amsterdamse Effectenbeurs Kabir, M.R.

Markt- en marketingonderzoek aan Nederlandse universiteiten Verhallen, T.M.M.; Kasper, J.D.P.

Orbis Software. Ship4U. Whitepaper. Deze whitepaper geeft u meer informatie over ons standaardproduct Ship4U van Orbis Software Benelux BV.

Tilburg University. Hoe psychologisch is marktonderzoek? Verhallen, T.M.M.; Poiesz, Theo. Published in: De Psycholoog. Publication date: 1988

Introductie in flowcharts

Introduction to IBM Cognos Express = BA 4 ALL

Procrustes analyse (1) Steenkamp, J.E.B.M.; van Trijp, J.C.M.; Verhallen, T.M.M.

Turbo Pascal (deel 1)

Zelftest Inleiding Programmeren

Aanpassingen voor BTW-verhoging in Isah en AccountView

Handleiding Installatie ADS

Overview. Ingekomen facturen registratie. Microsoft Dynamics NAV dvision Automatiseringsbureau.

Analyse. Teksten op documenten. Microsoft Dynamics NAV dvision Automatiseringsbureau.

NMOZTMKUDLVDKECVLKBVESBKHWIDKPDF-WWUS Page File Size 9,952 KB 29 May, 2016

Corporate Payment Services

Begrip image kent in wetenschap allerlei uiteenlopende definities Verhallen, T.M.M.

Tilburg University. Huisvuilscheidingsproeven in Nederland Pieters, Rik; Verhallen, T.M.M. Published in: Beswa-Revue. Publication date: 1985

PHP. Les 4 : Variabelen

Orbis Software. Exact. Integration Tools. Dit document bevat de Release Notes voor: - Exact Globe Integration Tool v x

Tilburg University Het voorkomen van merkverwarring General rights Take down policy

RS DigiVU Plus Digitale Tachograaf Download Tool Handleiding

Programmeerbare thermostaat. User Manual

Overview. Urenregistratie. Microsoft Dynamics NAV dvision Automatiseringsbureau.

De invloed van preferente beschermingsaandelen op aandelenkoersen Cantrijn, A.L.R.; Kabir, M.R.

Account Information Services

General info on using shopping carts with Ingenico epayments

StabiCAD V Applicatiebeheer

VAN HET PROGRAMMEREN. Inleiding

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

PUBLICATIE INFORMATIE TRIMBLE ACCESS SOFTWARE. Versie Revisie A December 2013

FOMS-FPS-HD. FOMS-FPS-HD Patch draagraam met voorbekabelde pigtails. Inhoud. 1 Algemeen. 5 Kabelterminatie in 2HU. 2 Kit inhoud

Multi user Setup. Firebird database op een windows (server)

Firewall van de Speedtouch 789wl volledig uitschakelen?

Programmeren met Arduino-software

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Tilburg University. Technieken van kwalitatief onderzoek 2 Verhallen, T.M.M.; Vogel, H.P. Published in: Tijdschrift voor Marketing

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

Intermax backup exclusion files

Handleiding elas 2.0 Nesibe Balta

Gebruik van de Spotify audiostreamweergavefunctie

Numerieke benadering van vierkantwortels

Handleiding gogo account. versie 2.1 Copyright 2011 Sander Kooijmans

Orbis Software. Exact. Integration Tools. Whitepaper

Tilburg University. Economische psychologie Verhallen, T.M.M. Published in: De Psycholoog. Publication date: Link to publication

Gebruikershandleiding. LCS loader. LC-Products B.V.

Aanpassingen voor BTW-verhoging in Isah en Unit4 Multivers

Orbis Software. Orbis. Klantenportal. Deze handleiding geeft u meer informatie over het Orbis Klantenportal van Orbis Software Benelux BV.

Handleiding SWIFT MyStandard Readiness Portal. Juni 2016

Orbis Software. Portal4U. Whitepaper. Deze whitepaper geeft u meer informatie over ons standaardproduct Portal4U van Orbis Software Benelux BV.

Transcriptie:

Les drie Vormen van data in AutoLISP Functies en variabelen door Joop F. Moelee een gelovig volger van de Sacrale Kunst van Luiheid zijn Hoge Priester LISP en Acoliet Script

Copyright 2004 by Joop F. Moelee Permission to use, copy, modify, and distribute this document and the software it contains for any purpose and without fee is here by granted, provided that the above copyright notice appears in all copies and that both that copyright notice and the limited warranty and restricted rights notice below appear in all supporting documentation. The writer of this document provides this document and the program code contained in this document as is and with all its faults. The writer of this document specifically disclaims any implied warranty of merchantability or fitness for a particular use. The writer of this document does not warrant that the operation of the code contained in this document will be uninterrupted or error free. II

1) Inhoudsopgave 1) INHOUDSOPGAVE...1 2) VERANTWOORDING...2 3) DATA TYPES...2 4) VARIABELEN...2 5) DEBUGGEN...4 6) TOT SLOT...4 1

2) Verantwoording Dit document is gebaseerd op en/of bevat delen van de artikelen geschreven door Kenny Ramage eigenaar/ beheerder van de site http://www.afralisp.com/ Kenny heeft de schrijver dezes toestemming gegeven tot gebruik van zijn teksten. Hiervoor heel hartelijk bedankt, Kenny. Voor alle duidelijkheid eerst even de verklaringen van de diverse tekstsoorten. Italic--Engelse woorden en termen die geen AutoLISP en/of AutoCAD termen zijn. Italic en vet AutoCAD termen, commando s en menu opdrachten. Kleiner en vet regels programmacode en AutoLISP termen. 3) Data types AutoLISP herkent diverse vormen van data: Functies (subroutines, subrs) o + optellen o - aftrekken o * vermenigvuldigen o \ delen o command \ o princ > AutoLISP instructies o setq / Functie argumenten: o variabelen, deze staan ook bekend als symbolen (symbols) o constanten, een heel of een decimaal getal (integer, real) o tekst, (character strings) o bestands namen, (descriptors) o AutoCAD entiteit namen o AutoCAD selectie sets o externe functies, deze worden aangeleverd door het AutoCAD Development System 4) Variabelen De variabelen binnen AutoLISP zijn verdeeld in twee hoofdgroepen, te weten globale (global) variabelen en lokale (local) variabelen. In sommige documenten wordt de globale variabele ook wel wereld variabele genoemd. (global = wereldwijd). 2

Het verschil tussen deze twee variabelen is eenvoudig: een routine of programma kan alleen globale variabelen meenemen naar een andere routine en/of programma. Ter illustratie het volgende programma. 1. Kopieer de code naar VisualLISP Editor Window. 2. Stop alle drie de variabelen in de Watch Window. 3. Plaats de cursor meteen voor het haakje openen van de eerste setq functie en druk op F9. Er verschijnt nu een rood blokje over het haakje: dit is een breekpunt. 4. Laad het programma in de Console Window en start het programma. 5. Gebruik F8 om stap voor stap door het programma te wandelen. 6. Observeer wat de variabelen doen en wat er wordt afgedrukt. ;;; ; ;;; Testen van gedrag globale en lokale variabelen ; ;;; ; (defun FunctieA (/ LokaleVarA LokaleVarB) (setq LokaleVarA "boo") (setq LokaleVarB "hoo") (setq GlobaleVarA "foo") (FunctieB) (print LokaleVarA) (print GlobaleVarA) ) (defun FunctieB (/ LokaleVarA LokaleVarB) (print LokaleVarA) (print LokaleVarB) (print GlobaleVarA) (setq GlobaleVarA "Wat je wilt") (setq LokaleVarA "fie") (functiec) ) (defun FunctieC (/ LokaleVarA LokaleVarB) (print LokaleVarA) (print GlobaleVarA) (setq GlobaleVarA "Wanneer je wilt") ) Het blijkt dat alleen de waarde van de globale variabelen meegenomen kunnen worden naar andere programma s en/of routines. Merk ook op dat de lokale variabelen tussen de haakjes achter de defun opdracht staan: (defun FunctieA (/ LokaleVarA LokaleVarB) 3

en de globale variabelen niet. Lokale variabelen worden na afloop van het programma uit het geheugen gewist. Dit staat bekend als Automatic Garbage Collection. Werk zo veel mogelijk met lokale variabelen, dit maakt het debuggen een stuk eenvoudiger en bovendien wordt dan het geheugen van de computer minder vervuild. Deze vervuiling gaat ten koste van de snelheid. Vooral bij grotere en ingewikkelde programma s is dit merkbaar. Maar wat doet die schuine streep daar nu in (/ LokaleVarA LokaleVarB)? Alle variabelen die voor de schuine streep staan zijn waarden die aan het commando/opdracht meegegeven worden van buiten af, dus door de gebruiker en/of de routine die het commando start. 5) Debuggen Zoals je in de Watch window kunt zien staat na beeindiging van het programma de lokale variabelen op nil. Dus ze hebben geen waarde. Dit is erg onhandig tijdens de ontwikkeling van een programma. Het is daarom handiger de variabelen als global te definiëren totdat het programma volledig is getest en pas nadat je tevreden bent over de werking de local variabelen te kopiëren naar de haakjes achter de functienaam. 6) Tot slot Ik hoop dat nu een beetje duidelijker is geworden wat variabelen zijn en welke er bestaan. In de loop van deze tutorial zullen we hier nog enkele keren op terug komen. LISP is ontwikkeld om het manipuleren van lijsten te vergemakkelijken. Daarom gaan we het in les vier hebben over lijsten en wat er mee gedaan kan worden. Tot dan, Joop 4