Bij commando Layiso meerdere lagen zichtbaar houden (Opgelost)

Gestart door RobenAd, wo 19 05 2010, 11:56:17

Vorige topic - Volgende topic

RobenAd

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

Joop

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.
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

RobenAd

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

lexxx

#3
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
the end of the line

Joop

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
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

RobenAd

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







Joop

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
Een gelovig volger van
"de Sacrale Kunst van Luiheid",
zijn leider "Lisp" en acoliet "Script".

RobenAd

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

Reimer

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

roy_043

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).

RobenAd

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

EddyBeerke

#11
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
Civil3d 2026, Blender 4.x gebruiker
Gebruiker sinds AutoCAD R12

http://eddylucas.c1.biz/
https://www.google.com/maps/contrib/109381066561676463628/photos/

RobenAd

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

Reimer

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

roy_043

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