Hallo
Door eens lekker op dit form te struinen kwam ik deze topic tegen https://www.cadsite.be/smf/index.php?topic=3523.15 (https://www.cadsite.be/smf/index.php?topic=3523.15)
Dit vind ik erg interesant dus heb ik het geprobeerd maar bij mij werkt het niet lekker.
Deze macro zit onder mijn Line button ^C^C^C_-TOOLBAR;MyLayerToolbar;_SHOW;\_-TOOLBAR;MyLayerToolbar;_HIDE;_PLINE
en heb een nieuwe Toolbar gemaaakt "MyLayerToolbar" met daar "layer control".
Als ik nu op de button druk komt netjes mijn nieuwe Toolbar kies de juiste layer hierna verdwijnd de Toolbar niet.
Volgens mij heb ik mij het allemaal goed staan als ik de topic goed door lees.
Maar wat is er nu mis.
Niemand die een tip heeft :? :?
In Nederland zijn net de vakanties voorbij... Misschien iets meer geduld hebben dan kunnen de mensjes alles uitproberen om je te helpen. Ik heb zelf ook nog geen tijd gehad.
Daar heb je gelijk aan, ik staat daar nooit zo bij stil.
In mijn omgeving is jan en alleman altijd aan het werk.
Heb je de alternatieve macro al getest:
^C^C^C(command "_-toolbar" "MyLayerToolbar" "_show")(command "_.pline")(while (= 1 (logand (getvar "cmdactive") 1))(command pause))(command "_-toolbar" "MyLayerToolbar" "_hide")(princ)
Deze had ik ook geprobeerd maar spring dan gelijk naar de ".pline" laat wel de toolbar zien maar verder niet.
(command "_-toolbar" "MyLayerToolbar" "_show")(command
"_.pline")(while (= 1 (logand (getvar "cmdactive") 1))(command pause))(command
"_-toolbar" "MyLayerToolbar" "_hide")(princ) _-toolbar Enter toolbar name or
[ALL]: MyLayerToolbar
Enter an option [Show/Hide/Left/Right/Top/Bottom/Float] <Show>: _show
Command: _.pline
Specify start point:
Dat gebeurt ook in BricsCAD. Maar op dat punt kan middels de layer control de layer worden gewijzigd.
Dat lukt bij mijn AutoCad 2009 niet
Hier een oplossing die gebruikmaakt van LSP en DCL. Plaats de bestanden in een map die onderdeel uitmaakt van het zoekpad.
Voorbeeldmacro:
^c^c^p(progn (if (not LyrDia) (load "LyrDia")) (LyrDia));_pline^p
Ik ga het morgenvroeg gelijk proberen.
Ik heb nog twee kleine dingen aangepast:
(vl-load-com) toegevoegd (is vereist voor AutoCAD maar niet voor BricsCAD).
Alfabetisch sorteren lijst.
Zie nieuwe bijlage bij mijn vorige bericht.
Heb het net uit geprobeerd met:
^c^c^p(progn (if (not LyrDia) (load "LyrDia")) (LyrDia));_pline^p
Het menu komt, kan ook een keuze maken, alleen het vervolg "Pline" word niet uit gevoerd.
AutoCad kent ook geen "progn".
Heb het eens veranderd naar mijn eigen idee:
^c^c_LyrDia;_Pline
Dan krijg ik geen menu maar kan wel de "Pline" uitvoeren.
Ik ben er nog verder mee aan het stoeien.
Okay
Dit zou het moeten zijn, het werkt bij :mrgreen:
^c^c^(load "LyrDia") (LyrDia);_pline
Jouw uitspraak dat AutoCAD progn niet kent is niet correct. Progn is een standaard Lisp-functie.
Misschien werkt deze macro?
^c^c(if (not LyrDia) (load "LyrDia"));(LyrDia);_pline
Citaat van: roy_043 op wo 12 09 2018, 13:40:21
Jouw uitspraak dat AutoCAD progn niet kent is niet correct. Progn is een standaard Lisp-functie.
Ik krijg deze melding in AutoCad 2009
Citeerprogn Unknown command
^c^c(if (not LyrDia) (load "LyrDia"));(LyrDia);_pline
Dit werkt ook :vreegoe: :vreegoe:
Citaat van: AKeng op wo 12 09 2018, 14:25:04
Citaat van: roy_043 op wo 12 09 2018, 13:40:21
Jouw uitspraak dat AutoCAD progn niet kent is niet correct. Progn is een standaard Lisp-functie.
Ik krijg deze melding in AutoCad 2009
Citeerprogn Unknown command
Zie onderstaande.
Citaat van: AutoCAD 2018 Help
progn (AutoLISP)
Evaluates each expression sequentially and returns the value of the last expression
Supported Platforms: Windows and Mac OS
Signature
(progn [expr ...])
expr
Type: Integer, Real, String, List, Symbol, File, Ename (entity name), T, or nil
One or more AutoLISP expressions.
Examples
The if function normally evaluates one then expression if the test expression evaluates to anything but nil. The following example uses progn to evaluate two expressions following if:
(if (= a b)
(progn
(princ "\nA = B ")
(setq a (+ a 10) b (- b 10))
)
)
Op zich wel raar dat er een melding komt dat acad het niet kent.
Zie volgende voorbeeld:
Citaat van: AutoCAD CommandoregelCommand: (progn (+ 1 2)(+ 3 5))
8
Command:
De uitvoer hierbij is dus "8".
Het is inderdaad vreemd, maar mijn het "probleem" is wel opgelost en dat is het belangrijkste voor mij.