CADsite forum

AutoCAD => AutoCAD probleem => Topic gestart door: Rudy op ma 11 04 2011, 09:18:54

Titel: Field in tekeningkader
Bericht door: Rudy op ma 11 04 2011, 09:18:54
Om onze tekeningen vlugger terug te vinden nadat ze geplot zijn, hebben we in het block van de tekeningkaders (A0,A1, A2...) een FIELD in de rand met PATH and FILENAAM geplaatst en dit werkt perfect.
Het probleem is nu echter wanneer we de tekening verplaatsen of doorzenden naar leverancier dan wordt dit PATH gewijzigd en vooral voor de leveranciers is dit een probleem wanneer er vragen zijn over de tekening.
Dan kan hij nl het juiste PATH niet doorgeven.
Is er een mogelijkheid om een FIELD te blokeren eens het geplaatst is?
Opmerking: Het FIELD zit dus wel in een BLOCK.
Titel: Re:Field in tekeningkader
Bericht door: julien op ma 11 04 2011, 10:21:41
Bestaan hiervoor geen tekeningnummers?
De enige optie die ik zie is het field uit het block halen en exploderen na het invoegen.
Titel: Re:Field in tekeningkader
Bericht door: hulpje op ma 11 04 2011, 10:29:15
Rudy,

Doe dit zelf ook en werkt perfect!
Als extra controle middel laat ik de filenaam nog eens extra als field in de onderhoek plaatsen, dan kan je in ieder geval op je eigen pc nog zoeken op bestandsnaam.

Een mogelijke (eenvoudige) oplossing:
Stuur een PDF mee, dan kunnen ze altijd filenaam en pad terug vinden!

Richard
Titel: Re:Field in tekeningkader
Bericht door: Rudy op ma 11 04 2011, 10:39:04
Citaat van: hulpje op ma 11 04 2011, 10:29:15
Rudy,

Doe dit zelf ook en werkt perfect!
Als extra controle middel laat ik de filenaam nog eens extra als field in de onderhoek plaatsen, dan kan je in ieder geval op je eigen pc nog zoeken op bestandsnaam.

Een mogelijke (eenvoudige) oplossing:
Stuur een PDF mee, dan kunnen ze altijd filenaam en pad terug vinden!

Richard
Richard,

Inderdaad dit werkt perfect, zeker als je moet zoeken in honderden mappen en duizenden tekeningnummers. Het tekeningnummer blijft natuurlijk ongewijzigd Julien.
Het is om het zoeken in de mappen te vergemakkelijken.
Richard op dit ogenblik sturen we ook al een pdf mee maar we dachten dat we hier konden van af komen.

Titel: Re:Field in tekeningkader
Bericht door: EddyBeerke op ma 11 04 2011, 10:59:50
Citaat van: Rudy op ma 11 04 2011, 09:18:54
Om onze tekeningen vlugger terug te vinden nadat ze geplot zijn, hebben we in het block van de tekeningkaders (A0,A1, A2...) een FIELD in de rand met PATH and FILENAAM geplaatst en dit werkt perfect.
Het probleem is nu echter wanneer we de tekening verplaatsen of doorzenden naar leverancier dan wordt dit PATH gewijzigd en vooral voor de leveranciers is dit een probleem wanneer er vragen zijn over de tekening.
Dan kan hij nl het juiste PATH niet doorgeven.
Wij sturen ook een PDF mee. Dan voorkom je dit.
Gebruik van bestandsnaam met revisie is dan ook bij ons een vereiste.

Edit:
Als je het field explodeert voor oplevering dan krijg je gewoon tekst.
Titel: Re:Field in tekeningkader
Bericht door: Rudy op ma 11 04 2011, 11:22:24
Citaat van: EddyBeerke op ma 11 04 2011, 10:59:50
Edit:
Als je het field explodeert voor oplevering dan krijg je gewoon tekst.
Dit is misschien de oplossing, maar dan zou ik bij het field moeten kunnen zonder het block van mijn tekeningkader te exploderen.
:vraagteken: :roll:
Titel: Re:Field in tekeningkader
Bericht door: EddyBeerke op ma 11 04 2011, 13:21:20
Je zou kunnen overwegen om dit field los van het kader in de template op te nemen.
Of net als een block in de tekening te zetten (uit je bibliotheek van blockjes) en dan exploderen wanneer dat nodig is.
Titel: Re:Field in tekeningkader
Bericht door: bart op ma 11 04 2011, 14:33:34
je zou FIELDEVAL op 0 kunnen zetten en de fields op een andere manier kunnen bijwerken dan automatische

FIELDEVAL Alles uitvouwen
Concept   Procedure   Quick Reference 
Type: Geheel getal
Opgeslagen in: Tekening
Beginwaarde 31
Bepaalt hoe velden worden bijgewerkt.
De instelling wordt als een bitcode opgeslagen met behulp van de som van de volgende waarden:

0 Niet bijgewerkt
1 Bijgewerkt bij openen
2 Bijgewerkt bij opslaan
4 Bijgewerkt bij plotten
8 Bijgewerkt bij gebruik van ETRANSMIT
16 Bijgewerkt bij regeneratie
Titel: Re:Field in tekeningkader
Bericht door: EddyBeerke op ma 11 04 2011, 14:58:51
Een goeie Bart, maar dat geld wel voor alle fields.
Als je dus andere fields hebt die wel mogen/kunnen veranderen in de tekening dan kun je dit niet zomaar toepassen.
Titel: Re:Field in tekeningkader
Bericht door: Rudy op ma 11 04 2011, 15:45:49
Citaat van: EddyBeerke op ma 11 04 2011, 14:58:51
Een goeie Bart, maar dat geld wel voor alle fields.
Als je dus andere fields hebt die wel mogen/kunnen veranderen in de tekening dan kun je dit niet zomaar toepassen.
Dat is inderdaad zo,er zaten anders wel mogelijkheden in :?
Titel: Re:Field in tekeningkader
Bericht door: hulpje op ma 11 04 2011, 16:04:59
Ik zit meer te denken aan een optie, waarbij je met de SETVAR DWGPREFIX de locatie van de tekening opvraagt en deze op een LISP achtige wijze in de tekening laat schrijven.....

Maar wat je ook bedenkt, je zal volgens mij altijd extra handelingen moeten uitvoeren......
Titel: Re:Field in tekeningkader
Bericht door: Rudy op ma 11 04 2011, 16:14:22
Citaat van: hulpje op ma 11 04 2011, 16:04:59
Ik zit meer te denken aan een optie, waarbij je met de SETVAR DWGPREFIX de locatie van de tekening opvraagt en deze op een LISP achtige wijze in de tekening laat schrijven.....

Maar wat je ook bedenkt, je zal volgens mij altijd extra handelingen moeten uitvoeren......
Zou dat niet kunnen gebeuren via een soort "PLOTSTAMP" eens de tekening in de juiste map staat?
Met dat verschil dat de tekst altijd zichtbaar blijft hetgeen bij plotstamp niet het geval is.
Titel: Re:Field in tekeningkader
Bericht door: veebee op wo 13 04 2011, 07:53:01
Wij geven een tekening altijd een naam waarin het ordernummer (projectnummer) staat en het tekeningnummer.
Als de tekening een revisie krijgt wordt deze letter aan de bestandsnaam toegevoegd.
Soms wordt ook de datum nog als anvulling vermeld (voor bijvoorbeeld interne controles).
Opslaan doen we per project.

Het is dus altijd heel simpel om een tekening terug te vinden.
Ook voor derden is het dan gemakkelijk om aan te geven om welk bestand het gaat.

Of begrijp ik het hele probleem niet?
Titel: Re:Field in tekeningkader
Bericht door: Rudy op wo 13 04 2011, 10:06:45
Citaat van: veebee op wo 13 04 2011, 07:53:01
Wij geven een tekening altijd een naam waarin het ordernummer (projectnummer) staat en het tekeningnummer.
Als de tekening een revisie krijgt wordt deze letter aan de bestandsnaam toegevoegd.
Soms wordt ook de datum nog als anvulling vermeld (voor bijvoorbeeld interne controles).
Opslaan doen we per project.

Het is dus altijd heel simpel om een tekening terug te vinden.
Ook voor derden is het dan gemakkelijk om aan te geven om welk bestand het gaat.

Of begrijp ik het hele probleem niet?
Aangezien we met een FIELD werken is er een probleem wanneer we de tekening verplaatsen of doorzenden naar een toeleverancier dan wordt dit PATH gewijzigd en vooral voor de toeleveranciers is dit een probleem wanneer er vragen zijn over de tekening dan kan hij het PATH niet vermelden.
Titel: Re:Field in tekeningkader
Bericht door: bart op wo 13 04 2011, 13:17:07
onze tekeningen en overige stukken hebben een projectummer en een (tekening)nummer bijvoorbeeld 2011213   tekening  -01-

Deze tekening staat dan in de servermap p:\2011\2011213\teken\2011213_01.dwg
Alle projecten staan op de zelfde server
Iedereen binnen ons bedrijf weet waar hij de stukken kan vinden aan de hand van het projectnummer

Merk even op dat het projectnummer ook in de tekening naam terug komt dit maakt de naam unniek
zodat het mogelijk is windows de tekening te laten zoeken
Het komt namelijk af en toe voor dat deze per ongeluk in de verkeerde map wordt weggeschreven :mrgreen:
Titel: Re:Field in tekeningkader
Bericht door: Rudy op wo 13 04 2011, 15:12:22
Citaat van: bart op wo 13 04 2011, 13:17:07
Merk even op dat het projectnummer ook in de tekening naam terug komt dit maakt de naam unniek
zodat het mogelijk is windows de tekening te laten zoeken
Het komt namelijk af en toe voor dat deze per ongeluk in de verkeerde map wordt weggeschreven :mrgreen:
Geen slecht idee Bart :vreegoe:
Maar hier bij ons zijn de tekeningen zo niet genummerd en het zijn er intussen al te veel om alles te hernummeren :|
Titel: Re:Field in tekeningkader
Bericht door: Rudy op wo 13 04 2011, 15:14:26
Citaat van: EddyBeerke op ma 11 04 2011, 13:21:20
Je zou kunnen overwegen om dit field los van het kader in de template op te nemen.
Of net als een block in de tekening te zetten (uit je bibliotheek van blockjes) en dan exploderen wanneer dat nodig is.
Ik denk dat ik voor de oplossing van Eddy ga :!:
Titel: Re: Field in tekeningkader
Bericht door: Rudy op za 16 04 2011, 12:57:15
Citaat van: Rudy op ma 11 04 2011, 09:18:54
Om onze tekeningen vlugger terug te vinden nadat ze geplot zijn, hebben we in het block van de tekeningkaders (A0,A1, A2...) een FIELD in de rand met PATH and FILENAAM geplaatst en dit werkt perfect.
Het probleem is nu echter wanneer we de tekening verplaatsen of doorzenden naar leverancier dan wordt dit PATH gewijzigd en vooral voor de leveranciers is dit een probleem wanneer er vragen zijn over de tekening.
Dan kan hij nl het juiste PATH niet doorgeven.
Is er een mogelijkheid om een FIELD te blokeren eens het geplaatst is?
Opmerking: Het FIELD zit dus wel in een BLOCK.

Graag was ik hier nog even op verder gegaan misschien is er iemand met een ander idee :mrgreen:
Titel: Re: Field in tekeningkader
Bericht door: Reimer op za 16 04 2011, 22:13:12
De tekening of de computer niet kan bepalen wanneer jij wilt dat de tekst vast komt te staan. Je zult dus altijd zelf een actie moeten ondernemen om de tekst vast te zetten. Hier zijn vele mogelijkheden voor, zoals hiervoor al beschreven. De vraag is alleen wat jij de makkelijkste vindt. Er is vast wel een manier te bedenken om de inhoud van het field te copieren en als vaste tekst in het attribuut terug te plaatsen. Je kunt dan echter net zo goed kiezen voor het plaatsen en exploderen van een los blokje of het invoegen van een tekst via VBA of Lisp.
Aan jou de keuze zou ik zeggen.

Reimer
Titel: Re: Field in tekeningkader
Bericht door: roy_043 op zo 17 04 2011, 17:35:40
Als er een duidelijk te omschrijven verschil is tussen de mappen waarin de bestandsnaam moet worden aangepast en de mappen waarin dit niet mag gebeuren dat moet dit met een lisp en een gewoon block attribute te doen zijn. Deze lisp kan dan m.b.v. acaddoc.lsp automatisch worden geladen en opgestart.

Bijvoorbeeld:
D:\Proj1\Definitief\1a.dwg => aanpassen
D:\Proj1\Backup\1a-20110405.dwg => niet aanpassen
Titel: Re: Field in tekeningkader
Bericht door: Rudy op zo 17 04 2011, 18:00:01
Citaat van: roy_043 op zo 17 04 2011, 17:35:40
Als er een duidelijk te omschrijven verschil is tussen de mappen waarin de bestandsnaam moet worden aangepast en de mappen waarin dit niet mag gebeuren dat moet dit met een lisp en een gewoon block attribute te doen zijn. Deze lisp kan dan m.b.v. acaddoc.lsp automatisch worden geladen en opgestart.

Bijvoorbeeld:
D:\Proj1\Definitief\1a.dwg => aanpassen
D:\Proj1\Backup\1a-20110405.dwg => niet aanpassen

Ikzelf heb niet zoveel verstand van VBA of lisp.
Is het mogelijk om zo een toepassing te schrijven?
Titel: Re: Field in tekeningkader
Bericht door: roy_043 op ma 18 04 2011, 09:00:19
Zo'n toepassing is te schrijven. Maar wat is het verschil tussen de mappen waarin de actie wel moet plaatsvinden en de mappen waarin de actie niet moet plaatsvinden?
Titel: Re: Field in tekeningkader
Bericht door: Rudy op ma 18 04 2011, 09:24:21
Citaat van: roy_043 op ma 18 04 2011, 09:00:19
Zo'n toepassing is te schrijven. Maar wat is het verschil tussen de mappen waarin de actie wel moet plaatsvinden en de mappen waarin de actie niet moet plaatsvinden?
Onze tekeningen worden weg geschreven onder volgende map "W:\Klanten\..." vervolgens komt er een "map" met klant en een "map" met het bestelnummer die dan nog eens opgedeeld word in "mappen" met samenstellingstekeningen en mappen met detailtekeningen
Kan hier iets mee aangevangen worden?
Titel: Re: Field in tekeningkader
Bericht door: roy_043 op ma 18 04 2011, 09:45:39
Dus als ik het goed begrijp moet in alle tekeningen in de map W:\Klanten\ de update actie worden uitgevoerd?
Titel: Re: Field in tekeningkader
Bericht door: Rudy op ma 18 04 2011, 10:06:01
Citaat van: roy_043 op ma 18 04 2011, 09:45:39
Dus als ik het goed begrijp moet in alle tekeningen in de map W:\Klanten\ de update actie worden uitgevoerd?
Indien mogelijk, ja.
Titel: Re: Field in tekeningkader
Bericht door: roy_043 op ma 18 04 2011, 18:01:32
Plaats het onderstaande in acaddoc.lsp en pas de waardes blkName en attTag (regels twee en drie) aan:

(defun UpdateDwgFileString ( / attTag blkName dwgMatchStr dwgName)
  (setq blkName "Onderhoek*")         ; Hier de blocknaam invullen. De ingevulde waarde, "Onderhoek*", werkt voor alle blocknamen die beginnen met "Onderhoek".
  (setq attTag "Bestandsnaam")        ; Hier de attribute tag invullen.
  (setq dwgMatchStr "W:\\Klanten\\*") ; Hier de juiste match-string invullen
  (if (wcmatch (strcase (setq dwgName (strcat (getvar 'dwgprefix) (getvar 'dwgname)))) (strcase dwgMatchStr))
    (mapcar
      '(lambda (a / elist)
        (if (not (member (cons 1 dwgName) (setq elist (kg:InsertEname->AttribElist a attTag))))
          (progn
            (entmod
              (subst
                (cons 1 dwgName)
                (assoc 1 elist)
                elist
              )
            )
            (princ "\nFile attribuut gewijzigd. ")
          )
        )
      )
      (kg:Pickset->EnameList (ssget "_X" (list '(0 . "INSERT") (cons 2 blkName) '(66 . 1))))
    )
  )
  (princ)
)

(defun kg:InsertEname->AttribElist (ename attTag / elist tagCorrectP)
  (while
    (and
      (setq ename (entnext ename))
      (setq elist (entget ename))
      (= (cdr (assoc 0 elist)) "ATTRIB")
      (not (setq tagCorrectP (= (strcase (cdr (assoc 2 elist))) (strcase attTag))))
    )
  )
  (if tagCorrectP elist)
)

(defun kg:Pickset->EnameList (ss / i result)
  (if ss
    (repeat (setq i (sslength ss))
      (setq result (cons (ssname ss (setq i (1- i))) result))
    )
  )
)

(UpdateDwgFileString)

Laat even weten of het werkt.
Titel: Re: Field in tekeningkader
Bericht door: Rudy op di 19 04 2011, 08:44:05
Roy,

Dank voor het voorstel en de geleverde inspanning.
Maar ik denk dat ik de werkwijze hier niet zo goed begrijp. :roll:
Is het zo dat ik van het field in mijn kaderblokken een attribute moet maken?
Als dit  zo is moet ik al mijn bestaande tekeningen gaan wijzigen en daar wil ik echt niet aan beginnen.
Is het niet mogelijk om met een lisp het tekstfield in het block te selecteren en dit dan om te zetten in tekst?
Ik weet het, misschien zie ik het allemaal een beetje te simplistisch en gaat het helemaal niet wat ik hier wil. :twisted:
In ieder geval plaats ik in bijlage een kader met tekstfield wat ik dan steed inserteer als een block.
Sorry voor de last.
Titel: Re: Field in tekeningkader
Bericht door: bart op di 19 04 2011, 10:40:27
@Rudy probeer het gewoon een keer.

De lisp van roy update automatisch je atribute en vervang de waarde door tekst
elke keer dat de tekening binnen julie bedrijf wordt geopend door een user die de code in zijn acaddoc.lsp heeft staan
ook als hier een field stond.
Je hoeft er dus niets voor aan te passen in de tekening

je moet er overigens wel voor zorgen dat onder options-> system het vinkje voor load acad.lsp whit every drawing aan staat bij deze methode
Titel: Re: Field in tekeningkader
Bericht door: Rudy op di 19 04 2011, 11:09:38
Citaat van: bart op di 19 04 2011, 10:40:27
@Rudy probeer het gewoon een keer.

De lisp van roy update automatisch je atribute en vervang de waarde door tekst
elke keer dat de tekening binnen julie bedrijf wordt geopend door een user die de code in zijn acaddoc.lsp heeft staan
ook als hier een field stond.
Je hoeft er dus niets voor aan te passen in de tekening

je moet er overigens wel voor zorgen dat onder options-> system het vinkje voor load acad.lsp whit every drawing aan staat bij deze methode
Akkoord Bart, maar in mijn kader bevind zich geen attribute...
Er is enkel het field.
Titel: Re: Field in tekeningkader
Bericht door: Reimer op di 19 04 2011, 13:12:19
Alleen een field kan niet. Een field kun je gebruiken in teksten of in een attribuut. Staat hij bij jouw in een (m)text in het hoofd?

@bart; Roy_43 stelde voor om de lisp in acaddoc.lsp te stoppen. Deze wordt bij iedere tekening geladen. Je hoeft dan toch niet aan te geven dat je acad.lsp in iedere tekening wilt laden?

Reimer
Titel: Re: Field in tekeningkader
Bericht door: Rudy op di 19 04 2011, 13:34:52
Citaat van: Reimer op di 19 04 2011, 13:12:19
Alleen een field kan niet. Een field kun je gebruiken in teksten of in een attribuut. Staat hij bij jouw in een (m)text in het hoofd?

@bart; Roy_43 stelde voor om de lisp in acaddoc.lsp te stoppen. Deze wordt bij iedere tekening geladen. Je hoeft dan toch niet aan te geven dat je acad.lsp in iedere tekening wilt laden?

Reimer

Het field staat rechtsonder in het kader zoals in de bijlage.
Blijkbaar zal het dan toch niet mogelijk zijn om hier een oplossing voor mijn probleem te vinden.
ik wil iedereen bedanken om mee te helpen zoeken naar een oplossing, maar  we zullen hier voor de goede gang van zaken maar blijven verder werken zoals voorheen.