CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: RobenAd op wo 19 05 2010, 11:56:17

Titel: Bij commando Layiso meerdere lagen zichtbaar houden (Opgelost)
Bericht door: RobenAd op wo 19 05 2010, 11:56:17
Hallo
Wij zitten met het volgende probleem
Bij het mooie commando Layiso, willen wij graag 2 extra lagen altijd zichtbaar houden, zonder deze iedere keer te moeten selecteren.
Weet iemand voor ons hoe wij dit in CUI kunnen toevoegen achter het commando;
^C^C_layiso

Bij voorbaat dank voor jullie hulp

Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Joop op wo 19 05 2010, 12:07:33
Ik werk nog met 2007  :? dus misschien loop ik achter, maar layiso werkt in 2007 met het selecteren van entiteiten op lagen die je wilt isoleren.
Voor wat jij wilt zul je dan een apparte routine moeten schrijven.
Niet zo moeilijk.
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op wo 19 05 2010, 12:11:52
Citaat van: Joop op wo 19 05 2010, 12:07:33
Ik werk nog met 2007  :? dus misschien loop ik achter, maar layiso werkt in 2007 met het selecteren van entiteiten op lagen die je wilt isoleren.
Voor wat jij wilt zul je dan een apparte routine moeten schrijven.
Niet zo moeilijk.


Beste Joop, wat voor de een makkelijk is is voor de ander moeilijker,

zou jij zo vriendelijk willen zijn hiervoor een aparte routine te schrijven om ons verder te helpen

bij voorbaat bank,

Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: lexxx op do 20 05 2010, 09:16:05
Citaat van: RobenAd op wo 19 05 2010, 12:11:52
Beste Joop, wat voor de een makkelijk is is voor de ander moeilijker,

zou jij zo vriendelijk willen zijn hiervoor een aparte routine te schrijven om ons verder te helpen

bij voorbaat bank,

Ad en Rob

is het dan niet makkelijker om met layer on/off te werken. ik gebruikte een macro onder acad LT die zoiets deed:
'-la;off;*;;on;LAAGNAAM1;on;LAAGNAAM2;;

dit zet alle layers off, behalve de current layer, en zet layer LAAGNAAM1 en LAAGNAAM2 on.


Groeten, Lex
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Joop op vr 21 05 2010, 13:16:29
Onderstaande werkt in 2007.
(defun C:MLI (/)
  (setq ssMLI (ssget))
  (setq Layer1 (list"Teksten_algemeen" "Profielgegevens"))
  (command "layiso" ssMLI "")
  (command "layer" "on" Layer1"""")
  )

Type MLI
Normaal de te isoleren lagen selecteren.
Vervang "Teksten_algemeen" "Profielgegevens" door je eigen lagen.

Veel plezier en fijne feestdagen,

Joop
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op di 25 05 2010, 12:03:54
Beste Joop,

Bedankt voor je reactie.
We hebben je LISP ingeladen via Tools>autoLISP>load application. Hierbij hebben we je LISP geselcteerd.
Vervolgens zijn we je LISP aan gaan passen met de Visual LISP Editor. Hier hebben we de lagen veranderd in onze lagen die aan moeten blijven.
Als we MLI intypen gebeurt er niets anders dan met het normale commando LAYISO, we kunnen lagen selecteren maar de andere lagen die we hebben opgegeven blijven niet zichtbaar.

Beste Lexxx,

We hebben jouw Macro gerpobeerd. Deze doet wat jij zegt dat hij hoort te doen. Echter willen wij een aantal lagen kunnen selecteren die aan moeten blijven staan + 2 voor ons standaard lagen. Met jouw commando blijft de current laag + een aantal standaard lagen van ons zichtbaar.

Bij het hier voorgaande kwamen we tot de conclusie dat er geen spaties in de laagnaam voor mag komen, klopt dit??
PS: Wij werken met Autocad 2011.


Alvast bedankt voor jullie reacties,

Ad en Rob






Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Joop op di 25 05 2010, 13:06:07
Twee wijzigingen:
(defun C:MLI (/)
  (setq ssMLI (ssget))
  (setq Layer1 "Teksten_algemeen,Profielgegevens")
  (command "layiso" ssMLI "")
  (command "-layer" "on" Layer1 "" "")
  )

De laagnamen in een string met alleen een komma er tussen in en het commando layer  wordt -layer.

Succes
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op di 25 05 2010, 14:01:26
Hallo Joop,

Wij hebben de wijzigingen aangebracht, (letterlijk gekopieerd en geplakt) met alleen onze laagnamen erin gezet
te weten "EPW_2010_05_23,0") een laag van vandaag en de laag Nul
Echter jouw lisp werkt tot nu toe bij ons hetzelfde als het commando Layiso.

Heb jij nog een suggestie?

Bij voorbaat dank!

Groeten Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Reimer op di 25 05 2010, 14:22:46
Beste Ad en Rob,

ik heb de lisp van Joop ook getest en het werkt perfect. Ik maakte eerst de fout dat ik de lijst met laagnamen verkeerd had aangepast. Ik had wel de comma geplaatst maar niet (list weggehaald. Misschien moet je de lisp nog eens heel goed controleren. In het textscherm van acad kun je nalezen wat er gebeurt als deze lisp gedraaid heeft. Hier zag ik dat het aanzetten van de eigen lagen wel geprobeerd werd, maar dat de laagnaam steeds onjuist was (door het laten staan van de list optie).

Reimer
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: roy_043 op di 25 05 2010, 14:46:53
Het probleem/de verwarring zit hem in de gewijzigde functionaliteit van LAYISO:
http://autodesk.blogs.com/between_the_lines/2008/03/autocad-2008-la.html
Bij RobenAd worden niet geselecteerde lagen gelocked.
Bij Joop worden niet geselecteerde lagen uitgezet (off).
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op di 25 05 2010, 15:01:21
Hallo Joop, Reimer en Roy
hieronder onze lisp zoals wij deze hebben ingevoerd (gekopieerd)

(defun C:MLI (/)
  (setq ssMLI (ssget))
  (setq Layer1 "EPW_2010_05_23,0")
  (command "layiso" ssMLI "")
  (command "-layer" "on" Layer1 "" "")
  )
Wij willen dat de geselecteerde lagen aanblijven en de lagen EPW_2010_05_23 en de laag 0
wat doen wij fout?

@Roy layiso enter settings staat bij ons op <off> wij vinden lock en fade, standaard ingesteld in autocad 2011, niet fijn werken.

Groeten Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: EddyBeerke op di 25 05 2010, 18:24:35
Het zou kunnen zijn dat de lagen bevroren worden. Als dat zo is kun je ze aanzetten wat je wilt maar ze worden niet zichtbaar.
Dit is in een viewport weer net anders, hier heb je vpfrees.
misschien moet de lisp iets meer foolproof worden gemaakt
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op wo 26 05 2010, 08:53:33
Hallo Joop, Lexx, Roy, Reimer & Eddy

Het probleem, is voor vandaag opgelost, raar maar waar.
Wij wilde reageren op de reactie van Eddy (de lagen gaan on en off, werden niet bevroren bij ons)
Maar wat was het geval, het commando mli door Joop opgegeven, werkte vanochtend niet meer bij het opstarten.
We hebben de lisp opnieuw ingeladen en wat blijkt;
De Lisp van Joop werkt perfect!!

Resten ons nog twee (sub)vragen over dit probleem;
- klopt het dat laagnamen GEEN spaties mogen bezitten, daar deze dan in de lisp zoals door Joop gemaakt niet werken?
-in welke directory van autocad moeten wij de lisp plaatsen zodat autocad deze automatisch opstart?

Met vriendelijke groeten,
Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Reimer op wo 26 05 2010, 11:14:32
De functie werkt wel met spaties erin (tests bij mij gaan ook goed).
Om de lisp standaard te laden kun je hem via AP (application load) toevoegen onder de knop Contents (rechtsonder in het dialoogscherm).

Reimer
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: roy_043 op wo 26 05 2010, 11:17:12
Citaat van: RobenAd op wo 26 05 2010, 08:53:33
- klopt het dat laagnamen GEEN spaties mogen bezitten, daar deze dan in de lisp zoals door Joop gemaakt niet werken?
Volgens mij is dit voor de lisp geen probleem. Maar bij een diesel macro (zie voorbeeld van lexxx) ontstaan wel problemen. Hier worden spaties namelijk opgevat als ENTER.

Citaat van: RobenAd op wo 26 05 2010, 08:53:33
-in welke directory van autocad moeten wij de lisp plaatsen zodat autocad deze automatisch opstart?
http://www.jtbworld.com/lisp/acaddoc.htm
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: EddyBeerke op wo 26 05 2010, 12:17:06
Citaat van: RobenAd op wo 26 05 2010, 08:53:33
...
-in welke directory van autocad moeten wij de lisp plaatsen zodat autocad deze automatisch opstart?
...

Zorg dat je een tekening open hebt staan.
Type "ap" of "appload", in het venster wat verschijnt zoek je jou lisp, vba of andere "Acad Apps".
Dan klik je bij "Startup Suite" op "Contents" of je sleept het bestand hier naar toe.
Nu zal bij elke volgende tekening de tool(s) worden geladen.
Sluit het venster, sla de tekening(en) op en sluit deze, waarna je de tekening weer opent en uw routine zal geladen zijn.
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: RobenAd op wo 26 05 2010, 14:48:39
Mannen bedankt voor jullie reacties, wij zijn er BIJNA!

We hebben de manier van Roy uitgeprobeert en deze werkt! Echter hier worden naar ons inzicht alle lisps in EEN file geplakt, kan makkelijk zijn, maar ook gevaarlijk.
De wegen van Reimer en Eddy genieten onze voorkeur, zodat men aparte Lisps in een eigen map aanmaakt.

Lopen we toch nog tegen een ,hopelijk laatste, probleem aan.

Wij willen een standaardlaag (stramienen) altijd zichtbaar hebben,
echter heet deze laag niet in alle tekeningen exact hetzelfde (voortschrijdend inzicht), soms wordt er b.v. de datum achter geplakt in de laag naam en zitten er meerdere stramienlagen in, alle met hun eigen datum en/of gebouwnaam achter het woord stramienen geplakt.
Is het mogelijk om in een Lisp een gedeelte van een laag te vernoemen;
b.v. *stramienen* (helaas werkt deze wildcard niet bij onze test)

Weet een van jullie hoe wij de puntjes op de i kunnen zetten in deze lisp?


Groeten Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: Reimer op wo 26 05 2010, 15:09:18
Toch zou dit met de wildcards gewoon moeten werken. Ik gebruik het zelf ook in lisproutines om onze bedrijfslagen aan te zetten. Onderstaande lisproutine werkt bij mij goed.

Reimer

(defun C:MLI (/)
  (setq ssMLI (ssget))
  (setq Layer1 "*stramienen*,EPW_2010_05_23,0")
  (command "layiso" ssMLI "")
  (command "-layer" "on" Layer1 "" "")
)
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: roy_043 op wo 26 05 2010, 15:10:48
Citaat van: RobenAd op wo 26 05 2010, 14:48:39We hebben de manier van Roy uitgeprobeert en deze werkt! Echter hier worden naar ons inzicht alle lisps in EEN file geplakt, kan makkelijk zijn, maar ook gevaarlijk.
Dit wordt in de link als mogelijkheid genoemd, maar niet aangeraden:
Citaat van: http://www.jtbworld.com/lisp/acaddoc.htmThe acaddoc.lsp file can contain AutoLISP code for one or more routines, or just a series of load function calls. The latter method is preferable, because modification is easier. If you save the following code as an acaddoc.lsp file, the files mydocumentapp1.lsp, build.lsp, and counter.lsp are loaded every time a new document is opened.

(load "mydocumentapp1")
(load "build")
(load "counter")
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden
Bericht door: roy_043 op wo 26 05 2010, 15:46:11
RobenAd, ter info:
Als je iets verandert in een lisp dan moet deze opnieuw worden ingeladen in het cad-programma.
Ik heb een vermoeden dat jullie dit niet doen.
Titel: Bij commando Layiso meerdere lagen zichtbaar houden (opgelost)
Bericht door: RobenAd op wo 26 05 2010, 16:16:24
Bedankt voor jullie reacties!

We hebben de lisp nogmaals aangepast met het woord stramien tussen 2 sterretjes en nu werkt het inderdaad wel. Waarschijnlijk dat we net die ene keer bij het testen zijn vergeten de lisp opnieuw in te laden.

@Roy: wij hebben jouw manier nogmaals geprobeerd echter snappen wij niet goed wat er wordt bedoelt met: (load "mydocumentapp1")
(load "build")
(load "counter")

We hebben de bovenstaande tekst in de lisp geplaats maar kregen toen een foutmelding bij het opstarten van Autocad. Waarschijnlijk is ons engels in combinatie met onze Autocad vaardigheden niet toereikend  :wink:

Wij zijn erg blij met deze nieuwe tool. Nogmaals onze hartelijke dank hiervoor aan jullie allemaal!

Groeten,

Ad en Rob
Titel: Re:Bij commando Layiso meerdere lagen zichtbaar houden (Opgelost)
Bericht door: roy_043 op wo 26 05 2010, 17:47:35
Citaat van: RobenAd op wo 26 05 2010, 16:16:24@Roy: wij hebben jouw manier nogmaals geprobeerd echter snappen wij niet goed wat er wordt bedoelt met: (load "mydocumentapp1")
(load "build")
(load "counter")
Logischerwijs moeten de bestanden: mydocumentapp1.lsp, build.lsp en counter.lsp wel gevonden kunnen worden. Ze moeten dus in het zoekpad van het cad-programma staan. Ook hierover geeft de link informatie (Support File Search Path). Alternatief is om het volledige pad op te geven:
(load "C:\\Zomaar\\ergens\\een\\map\\MLI")