Lagen uitzetten (in filter) middels commando/lisp

Het AutoCAD forum is gericht op de AutoCAD en AutoCAD LT gebruiker. U kunt hier vele AutoCAD tips en tricks vinden. Daarnaast zijn er een groot aantal Autodesk video tutorials te bekijken.

Moderators: Leonie, Nicoletta, Diederick, Alejandra, Coen, Bram, Roy_M, DavidN, Anton

Gebruikersavatar
Storm
Berichten: 600
Locatie: Duiven

Lagen uitzetten (in filter) middels commando/lisp

Berichtdoor Storm » do 26 apr 2012, 10:33

Hallo,

Ik zie zo snel even geen makkelijke manier om lagen uit te zetten die in een filter staat middels een commando.

Nu ga ik altijd naar de LAyermanager, klik op een filter (bestaand/nieuw/opbreken), control+a en dan de lagen aan of uit zetten.

Ik zou het prettiger vinden als ik dit middels een lisp kan doen.
De filters komen terug in iedere tekening die we maken (Template/DWT) dus zijn altijd hetzelfde.

Ik kan in het LAYOFF commando echter niet zo snel iets vinden waardoor ik middels wat commando's een lispje kan bouwen.

Wat ik dus zoek is iets dat de lagen aan/uit zet welke onder een bepaald filter vallen.

Ik heb het nog niet geprobeerd, maar wellicht is het ook (of alleen) mogelijk om dit middels de macro recorder aan een knopje te hangen?

Joost

Re: Lagen uitzetten (in filter) middels commando/lisp

Berichtdoor Joost » do 03 mei 2012, 09:33

Hallo Storm,

Een mooie vraag die je hier stelt.

Ik heb zelf meer ervaring met script in plaats van lisp.
Om de lagen wat in te delen via een script gebruik ik het commando layer in het script, welke overeenkomt met -la in de commandoline van AutoCAD. Als je dit laatste commando een keer intikt, zie je ook de mogelijkheden van het commando, welke je weer in het script kunt verwerken.

Een ding om rekening mee te houden is dat je in een script de commando's achter elkaar wilt zetten.
Er zijn in AutoCAD een aantal commando's welke voorafgegaan kunnen worden door een liggend streepje. In dit voorbeeld is dat "-la".
Juist deze commando's kun je verwerken in een script, als je rekening houdt met de versie in het script zelf. In dit voorbeeld veranderd -la uit de commandoline naar "layer" in het script.

Zie ook de bijlage.

Ik hoop nu maar dat je via deze werkwijze ook die commando's vind die je zoekt voor de filters. Zover heb ik niet gekeken, maar wellicht heb je hiermee een aanzet in de juiste richting.

Zoals in de bijlage te zien is heb ik als voorbeeldje de kleur van de laag CADaccent aangepast.
In de commandoline type je commando "script" in, waarna je de .scr file kunt uitvoeren. De .scr files bewerk je simpelweg in kladblok.

Het resultaat van mijn voorbeeldje:

[img]https://www.cadaccent&#46nl/forum/images/00helpdesk/script.png[/img]

Groet Joost

Gebruikersavatar
Storm
Berichten: 600
Locatie: Duiven

Re: Lagen uitzetten (in filter) middels commando/lisp

Berichtdoor Storm » do 03 mei 2012, 10:20

Soms sla ik me echt voor me kop, verder kijken dan me neus lang is blijkt wederom weer niet me sterkste kant.

LAYOFF heeft dan geen -LAYOFF tegenhanger, maar zoals je aangeeft kan ik middels -LA(YER) inderdaad wel een hoop dingen doen.

Hier staat ook de keuze ON en OFF bij. En gezien de lagen standaard beginnen met nw-vh (nieuw-verharding) of or-vh (opruimen-verharding) kan ik middels het volgende principe;

Code: Selecteer alles

;;; Commando UIT om NIEUWE SITUATIE lagen uit te zetten
(Defun C:uit ()
(command "-la" "off" "nw-*")
(princ)
)

;;; Commando AAN om NIEUWE SITUATIE lagen aan te zetten
(Defun C:aan ()
(command "-la" "on" "nw-*")
(princ)
)
een mooi lispje opzetten.

Ach, het zetje in de goede richting die ik nodig had. Ik dank u weer vriendelijk ;).


Edit:

Moet het nog even verder uitwerken, maar voor nu is dit even voldoende. Voor de liefhebbers:

Ik zet de laag standaard terug naar 0 omdat ik anders wat conflicten krijg, in toekomstige versie hopelijk verholpen :P.

Opslaan in een .lsp bestand en inladen in autocad.

Code: Selecteer alles

;;; Uitleg
(Defun C:nwuit ()
(command "-layer" "set" "0" "off" "nw-*" "")
(princ)
)

;;; Uitleg
(Defun C:nwaan ()
(command "-layer" "set" "0" "on" "nw-*" "")
(princ)
)

;;; Uitleg
(Defun C:oruit ()
(command "-layer" "set" "0" "off" "or-*" "")
(princ)
)

;;; Uitleg
(Defun C:oraan ()
(command "-layer" "set" "0" "on" "or-*" "")
(princ)
)

;;; Uitleg
(Defun C:aan ()
(command "layon")
(princ)
)


;;; Alle lagen uit behalve een bepaalde situatie, nog defineren

  

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 0 gasten

Autodesk AEC Collection