CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: Atwist op wo 20 05 2009, 10:24:26

Titel: instellingen (opgelost)
Bericht door: Atwist op wo 20 05 2009, 10:24:26
Hallo forumleden,

Ik werk momentueel aan verschillende opdrachten op zich is dat geen probleem maar het zijn opdrachten waar de klant zijn eigen layers wil gebruiken.
Zelf heb ik bv onder text knop een macro zitten dat de text op de layer teksten wordt geplaatst maar nu moet ik steeds of de macro wijzigen of de text telkens handmatig in de juiste klant layer zetten.
Is er ook een mogelijkheid dat ik de instellingen van klant 1 kan opslaan en ook van klant 2 ......? zodat ik snel kan wissellen van klant 1 naar klant 2.

Alvast bedankt voor jullie ondersteuning.
Titel: Re:instellingen
Bericht door: julien op wo 20 05 2009, 11:02:45
Je kan dat perfect onder een profiel steken, in autocad 'workspace' genaamd.
Titel: Re:instellingen
Bericht door: Atwist op wo 20 05 2009, 11:26:49
Dank Julien,

Ik ga dit even uitproberen.
Titel: Re:instellingen
Bericht door: Atwist op wo 20 05 2009, 12:13:13
Hallo Julien,

Ik heb net wat zitten rotzooien maar het lukt niet, moet ik hier een compleet nieuw menu gaan maken met kopieeren plakken gaat het niet of ik doe iets fout.
Kan jij mij misschien een paar tips geven? :vreegoe:

Alvast bedankt.
Titel: Re:instellingen
Bericht door: Manu op wo 20 05 2009, 13:19:53
Onder Tools > Cad Standards vind je de Layer Translator.. ik vermoed dat je daar je oplossing moet gaan zoeken..


Groeten,

Manu
Titel: Re:instellingen
Bericht door: roy_043 op wo 20 05 2009, 14:35:51
Beste Atwist,

Het is ook mogelijk om gebruik te maken van een aantal simpele lisp-routines.

Het idee is als volgt:
Als je een tekening opent in een map waarin zich een "KlantLayers.lsp" bevindt, dan worden daaruit laag-instellingen geladen. Ontbreekt het betreffende lsp-bestand dan worden de laag-instelling uit "defaultLayers.lsp" geladen. Dit gebeurt automatisch.
De laaggebonden macro's moeten eenmalig aangepast worden zodat de laag-instellingen uit de lisp-bestanden worden gebruikt.

Ook voor iemand met weinig kennis van lisp is dit te realiseren.

Laat even weten of je je hiervoor interesseert.

Groet, Roy.


Titel: Re:instellingen
Bericht door: Atwist op wo 20 05 2009, 14:54:49
Manu,

Ik heb hier even gekeken het lijkt mij lastig om dit te doen (moet eerlijkheidshalve ook zeggen dat ik deze optie niet kende).


Roy_043,

Een lips is ook een mogelijkheid zit deze Lips in expert tools oid, heb namelijk niet veel ervaring met Lips maken heb tot nu toe altijd uit de voeten gekund met de gebruikelijke lips van expres tools of Lipssite, heb dus wel belangstelling hiervoor Roy_043.
Titel: Re:instellingen
Bericht door: roy_043 op wo 20 05 2009, 16:13:29
Beste Atwist,

Dit is de eerste stap in wat ik maar even het lisp-traject noem. In dit stadium is nog niets geautomatiseerd. Het doel van deze stap is jou een idee te geven van hoe e.e.a. werkt.

Bijgevoegd tref je aan: KlantLayers.lsp. In deze lisp worden lisp-variabelen gekoppeld aan laagnamen.

Code (KlantLayers.lsp) Selecteer

(setq
LayerSettingsTekst "FaJanssen-Tekst-Algemeen"
LayerSettingsOmtrek "FaJanssen-Lijnen"
LayerSettingsArcering "FaJanssen-Hatch"
)
(princ "Layer Settings voor de Firma Janssen zijn geladen")
(princ)


Om het uit te proberen doe je het volgende:

1.  Open een nieuwe tekening en sla die op in een map.
2.  Kopieer het bijgevoegde bestand KlantLayers.lsp naar deze map.
3.  Typ (Load "KlantLayers.lsp") op de commando-prompt (dit wordt t.z.t geautomatiseerd).
4.  Maak een aantal buttons aan (of pas bestaande buttons aan) en gebruik als proef de
    volgende twee macro's:
    ^C^C^C(command "_layer"  "_make" LayerSettingTekst "")_MTEXT
    ^C^C^C(command "_layer"  "_make" LayerSettingOmtrek "_color" "3" "" "")_PLINE
5.  Probeer de knoppen uit.
6.  Als het goed is moeten nu "FaJanssen"-lagen zijn aangemaakt.
7.  Wijzig nu KlantLayers.lsp. Dit gaat heel eenvoudig met Kladblok (=Notepad.exe).
    Vervang "FaJanssen" door bijv. "PietersenEnZonen".
8.  Omdat het lisp-bestand is gewijzigd moet je het opnieuw laden: typ opnieuw (Load "KlantLayers.lsp").
9.  Probeer de knoppen uit stap 5 opnieuw uit.
10. Het resultaat moet zijn dat er nu een aantal "Pietersen..."-lagen zijn aangemaakt.


Kortom:
Afhankelijk van het geladen lsp-bestand, KlantLayers.lsp, worden verschillende lagen aangemaakt door de macro's.

Als dit bij jou werkt en je nog steeds geïnteresseerd bent, laat het dan even weten.

Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op wo 20 05 2009, 16:18:26
Roy_043,

Mijn dank alvast, ik ga dit straks uitproberen had het liever nu gedaan maar het is nu een gekkenhuis bij mij op kantoor.
Je hoort nog van mij.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 07:19:50
Heb gisteren verschillende dingen getest maar kom iet toe een goed resultaat.

Met workspace (Julien)
heb 2 x een workspace gemaakt in de eerste heb een kopie gemaakt van mijn huidige instellingen en de tweede heb ik de instelling gewijzigt zo als ik de wil hebben maar als ik dan van workspace wissel dan gaan de wijzigingen mee naar de andere dus is mijn standaard ook gewijzigt. Dus wat hier fout gaat weet ik niet.

Met klantlayers (Roy_043)
Hier heb ik de beschrijving gevolgt de kleur van de layer wissel wel naar kleur 3 maar de layernaam wisseld niet.

Met profil (idee van mij zelf)
Dit werkt ook niet de knop instelling gaan ook weer mij naar het andere profil, dus dit werkt ook niet.

Zijn er nog meer ideen of weet iemand wat ik fout doen dan hoor ik het graag.
Titel: Re:instellingen
Bericht door: roy_043 op vr 22 05 2009, 09:46:50
Beste Atwist,

:oops: Er zitten typefouten in mijn vorige post:
:oops: De namen van de variabelen in de macro's komen niet overeen met die in de lisp.

Stap 4 had als volgt moeten zijn:

4.  Maak een aantal buttons aan (of pas bestaande buttons aan) en gebruik als proef de
    volgende twee macro's:
    ^C^C^C(command "_layer"  "_make" LayerSettingsTekst "")_MTEXT
    ^C^C^C(command "_layer"  "_make" LayerSettingsOmtrek "_color" "3" "" "")_PLINE

Sorry voor de verwarring.

Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 12:57:13
Beste Roy_043,

Geen probleem hoor ik heb hierdoor zelf ook weer veel geleerd en heb een paar ander knoppen gewijzigd.
Ga nu jou voorbeeld uitproberen, je hoort nog van mij.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 14:27:57
Best Roy_043,

Ben weer even bezig geweest maar de layer kleur werkt wel maar de rest niet , weet nu niet wat ik verkeerd doe.
Heb je misschien nog een optie.

Alvast bedankt.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 14:59:22
Beste Roy_043,

Probleem gevonden Ik vergat telkens haakje (open en dicht) te gebruiken :?, krijg nu wel de layers van FA Jansen.
Is dit makelijk uit te breiden?
Zou je misschien een uitleg kunnen geven van 1 of 2 macro's wat deze comando's doen zodat ik deze misschien ergens anders ook kan gebruiken.

Alvast bedank voor je hulp. :vreegoe:
Titel: Re:instellingen
Bericht door: roy_043 op vr 22 05 2009, 18:48:20
Beste Atwist,

Ik heb geprobeerd de zaak wat beter uit te werken.
Bijgevoegd twee bestanden:
ManageSettings.lsp (dit bestand hoef je in principe niet aan te passen)
ClientSettings.lsp (dit bestand moet je wel aanpassen).
Tevens moet je op basis van ClientSettings.lsp een DefaultSettings.lsp maken.

Hieronder de toelichting uit het bestand ManageSettings.lsp. Ik hoop dat e.e.a. hierdoor duidelijk wordt.

;;;
;;; LAAGCODES IN PLAATS VAN VASTE LAAGNAMEN GEBRUIKEN IN KNOP-MACRO'S
;;;
;;; De routines in dit lisp-bestand maken het mogelijk om per project andere laagnamen in knop-macro's te
;;; gebruiken. Uitgangspunt is dat laagnamen (inclusief kleur en lijntype) gekoppeld worden aan laagcodes.
;;; Deze laagcodes worden gebruikt in knop-macro's en kunnen per project anders worden ingesteld. Naast
;;; bestanden met instellingen per project kan ook een bestand met default-instellingen gebruikt worden.
;;;
;;; Benodigde bestanden:
;;; ==========================================================================================================
;;; ManageSettings.lsp     Dit bestand (waarnaar u nu kijkt!) moet zich in het zoekpad van het CAD-programma
;;;                        bevinden. Bij het opstarten van een dwg-bestand moet het automatisch worden
;;;                        geladen. Dit kan door het bestand op te nemen in de Startup Suite of door de
;;;                        volgende regel toe te voegen aan acaddoc.lsp:
;;;                        (load "ManageSettings.lsp")
;;; DefaultSettings.lsp    Dit bestand bevat de standaard- of default-instellingen. Het moet zich in het
;;;                        zoekpad van het CAD-programma bevinden.
;;; ClientSettings.lsp     Dit bestand bevat de project- of client-instellingen. Indien van toepassing moet
;;;                        dit bestand zich in de projectmap bevinden. Als dit bestand niet wordt gevonden
;;;                        dan worden de instellingen uit DefaultSettings.lsp gebruikt.
;;; ==========================================================================================================
;;;
;;; Voorbeeld voor een ClientSettings.lsp of DefaultSettings.lsp:
;;; ==========================================================================================================
;;;   (setq AllProjectLayers
;;;       '(
;;;   ;   Syntax:
;;;   ;            Opm.: Het lijntype continuous mag worden weggelaten.
;;;   ;                  Spaties mogen naar wens worden toegevoegd.
;;;   ;   ( "LaagCode"      "LaagNaam"            KleurNr. "LijnType" )
;;;   ; -------------------------------------------------------------------------
;;;       ( "LaagTekst"     "FaJanssen-Tekst-Algemeen"   1 )
;;;       ( "LaagLijnenAlg" "FaJanssen-Lijnen"           5 )
;;;       ( "LaagOmtrek"    "FaJanssen-Lijnen"           5 )
;;;       ( "LaagArcering"  "FaJanssen-Hatch"            3 )
;;;       ( "LaagHidden"    "FaJanssen-Streeplijn"     108 "hidden" )
;;;   ; -------------------------------------------------------------------------
;;;   ; Pas de gegevens tussen de stippellijnen hierboven aan. Indien nodig
;;;   ; kunnen regels worden toegevoegd. Let wel steeds op de juiste syntax.
;;;       )
;;;   )
;;;   ; -------------------------------------------------------------------------
;;;   (princ "Settings voor de Firma Janssen zijn geladen.")
;;;   ; -------------------------------------------------------------------------
;;;   ; Vervang de informatie tussen "" hierboven door een passende mededeling.
;;;   (princ)
;;; ==========================================================================================================
;;;
;;; In knop-macro's kunnen twee verschillende commando's worden gebruikt:
;;; (MakeLayer "????")     De laag waarna wordt verwezen door "????" wordt ingesteld. Als de laag al bestaat
;;;                        dan wordt deze opnieuw ingesteld met de kleur en het lijntype uit het
;;;                        instellingen-bestand.
;;; (SetLayer "????")      Als de laag waarna wordt verwezen door "????" al bestaat dan wordt deze ongewijzigd
;;;                        ingesteld. Bestaat de laag nog niet dan wordt deze op basis van "????" aangemaakt
;;;                        en ingesteld.
;;;
;;;                        *  "????" staat voor een laagcode die is ingesteld in een instellingen-bestand
;;;                           (zie het voorbeeld hierboven).
;;;
;;; Voorbeelden van knop-macro's:
;;; ==========================================================================================================
;;; ^C^C^C(MakeLayer "LaagTekst")_MTEXT
;;; ^C^C^C(SetLayer "LaagOmtrek")_PLINE
;;; ==========================================================================================================
;;;
;;; Elke laagcode die wordt gebruikt in de macro's moet terug te vinden zijn in het instellingen-bestand. Een
;;; laagcode mag maar één keer worden gebruikt in het instellingen-bestand. Het is wel mogelijk dat verschil-
;;; lende laagcodes aan dezelfde laag worden gekoppeld.
;;; De gebruiker is vrij om zijn eigen laagcodes te bedenken. Het is daarbij wel belangrijk om te onthouden
;;; dat laagcodes hoofdlettergevoelig zijn.
;;; Als tijdens een tekensessie laagcodes in ClientSettings.lsp of DefaultSettings.lsp worden gewijzigd dan
;;; moeten de instellingen opnieuw worden geladen. Gebruik hiervoor het commando: ManS (of: ManageSettings).
;;;
;;; ==========================================================================================================


Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 19:09:18
Beste Roy_43,

Het vorige voorbeeld heb ik uit geplozen en heb nu een nieuwe toolbar gemaakt met de naam van de klant en ben nu bezig om er allerlij knoppen onder te bouwen en dit lukt redelijk met het voorbeeld wat je nu gestuurd hebt moet alles goedkomen. :vreegoe: :lol:

Heb nog een kleine vraag weet je misschien een macro commando om een laag niet te laten plotten (de laag met contrucion lines) als ik die dan nog in bouw dan heb ik dank zei jou een hele mooie toolbar gemaakt.

Roy_043 :vreegoe: :vreegoe: :vreegoe:
Titel: Re:instellingen
Bericht door: roy_043 op vr 22 05 2009, 19:53:52
Beste Atwist,

Wij hebben eigenlijk een principiële vraag overgeslagen: waar sla jij jouw tekeningen op?
Uitgangspunt voor mijn verhaal is dat je per opdracht een aparte projectmap hebt. Zo'n projectmap is altijd gekoppeld aan één opdrachtgever. In elke projectmap bevindt zich dan (indien nodig) een ClientSettings.lsp. Het is nadrukkelijk niet de bedoeling dat je per client een toolbar maakt. Het uitgangspunt is juist dat dezelfde toolbar afhankelijk van de instellingen in ClientSettings.lsp verschillende lagen aanmaakt. Dit lijkt mij ook de insteek van jouw eerste vraag.

Citeermacro commando om een laag niet te laten plotten
Hier zal ik naar kijken.

Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 20:19:15
Beste Roy_043,

Inderdaad worden bij mij de projecten in een map met met klant naam opgeslagen, dus kan ik ook de settings in deze mappen zetten.
Dat van de toolbar was een ideen van mij zelf maar omdat ik verder heb gestoeid met het laatste voorbeeld heb ik dit inderdaad niet nodig het is alleen de standaard setting (ClientSettings.lsp) van de klant aanpassen en dit dan per klant n de map opslaan
Titel: Re:instellingen
Bericht door: roy_043 op vr 22 05 2009, 20:37:12
Beste Atwist,

Bijgevoegd 2 aangepaste lisp-bestanden. De "No Plot" optie is verwerkt. Je hoeft jouw macro's niet aan te passen. Je moet wel jouw ClientSettings aanpassen. Zie daarvoor het bijgevoegde voorbeeld ClientSettings.lsp.

Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op vr 22 05 2009, 20:46:05
 :vreegoe: Roy je bent een topper werkt perfect :vreegoe:
Dit is een mooie tool

Mijn dank is enorm groot :D
Titel: Re:instellingen
Bericht door: roy_043 op vr 22 05 2009, 21:46:00
Beste Atwist,

Ik kwam zelf nog een fout tegen in ManageSettings.lsp.
Bijgevoegd de aangepaste versie.

Groet, Roy.
Titel: Re:instellingen
Bericht door: Atwist op zo 24 05 2009, 08:44:35
Beste Roy_043,

Nogmaals een mooie tool gemaakt mijn dank voor de medewerking.
Ik sta altijd weer verbaast dat mensen dit weer in elkaar knutsellen, dit gaat mij weer boven mijn pet, ben namelijk nog van de oude stempel.

Nogmaals mijn dank :vreegoe: