yoin

bart

Je kan inderdaad maar 1 dwg gelijktijdig inserten
Maar die kan zo groot zijn als je zelf wil en zoveel block elementen bevatten als je systeem kan verwerken
Daarbij maakt het geen verschil of de blocks zijn genest.

Bijgaande tref je twee dwg bekijk ze eerst afzonderlijk
Open tekening 1 en insert tekening 2 sla het resultaat op als tekening 3
Open vervolgens tekening 2 en insert tekening 1 sla het resultaat op als tekening 4 en vergelijk de resultaten eens.

De blocken a t/m e zijn tot 5 niveaus genest en je ziet dat ze gewoon worden aangepast aan de definitie die reeds in de tekening aanwezig is

Tot zover de uitleg

Of je er wat mee opschiet hangt sterk van je tekening af
Indien er layouts zijn raak je deze kwijt
Indien er ook attributen in de blocks zitten moet je deze daarna nog synchroniseren


Als je aan de bovenstaande niets hebt dan zou je een lispje kunnen schrijven die uit tekening 1 alle blocks wegschrijft naar de harde schijf ( wblock)
En een lispje die controleert of een Block die in de database van tekening 2 zit ook op een bepaalde plaats op de harde schijf staat en deze insert en opnieuw defineerd  als dit zo is


Ook bij deze methode vereisen attributen overigen nabewerking
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

AdenRob

#16
Beste Bart,

Helder, we begrijpen je uitleg over het kopiëren. Dit is inderdaad één manier (helaas wel (omslachtige en foutgevoelig). Er gaat tevens op deze manier informatie verloren, wat betreft layouts, named views, attributes, die vervolgens ook weer hersteld dienen te worden.
Het is in onze optiek een gemiste kans van Autocad dat er geen functie is ingebouwd waarmee men;
Een selectie in één tekening (met bijvoorbeeld COPY BASEPOINT) maakt, vervolgens de andere tekening opent en hier PASTE invoert MAAAAR dan de vraagt krijgt;
do you want to redifine all your blocks?

Het idee van een lisp is een goed plan. Wij zullen onze vraag verplaatsen naar het forum Autolisp. Onder de titel; Paste & Redefine in één commando Part II.
Hopelijk krijgen we daar hulp, aangezien we zelf (helaas) te weinig kaas hebben gegeten voor deze Lisp (Gedeelte van dwg A in je werkgeheugen plaatsen, vervolgens dwg B openen en hier paste with basepoint én tegelijkertijd de blocken uit het werkgeheugen redefinen.)

Bedankt voor alle hulp en het meedenken!

Hopelijk biedt Part II de oplossing, zie: http://www.cadsite.be/smf/index.php?topic=5548.0

AdenRob

bart

Uiteraadt is het omslachtig
En we hebben nog niet eens gesproken over dynamische en annonieme blocken.
die nog veel lastiger zijn  :shock:

foutgevoelig is het ook
ik zou persoonlijk dan ook nooit op die manier met een tekening omgaan.
het blind blocken overrullen moet je gewoon niet willen doen.
Zorg er voor dat unieke blocken ook een unieke naam hebben

Dan kan je die onderdelen zonder probleem van de ene naar de andere tekening verplaatsen
Als je eerst het bewuste stukje even verwijderd en een purge uitvoerd.

met standaard blocken is dit anders
maar die zijn in principe gelijk en hoeven daardoor niet opnieuw geladen te worden
Mocht je de blocken bibiotheek een keer aanpassen dan is dat vrij makkelijk te ondervangen met een lispje  je weet de naam immers en een paar regels  om de blocken opnieuw uit de bibiotheek te halen zijn zo geschreven




Wat is overigens exact jouw probleem met xref.
(want dat is toch echt de oplossing die autodesk voor dit probleem heeft bedacht)

Ik kan me namelijk niet voorstellen dat een wijziging die je nu tekend voor een gebouw
(stel een andere vorm tafel of wc pot)
automatisch ook in een gebouw van 10 jaar geleden moet worden doorgevoerd.


Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

Ainstein

Beste AdenRob

Het is een herkenbaar probleem!
Waarin autocad wel heeft voorzien middels het autocaddesigncenter, alleen kan men hier de blocken een voor een redefinen. Wat zoals jullie aangeven erg omslachtig is , soms bijna onmogelijk.
Ik ben ook al lang op zoek naar een oplossing voor dit probleem, mijn knowhow betreffende lisp is onvoldoende.
Misschien dat Bart een voorzet voor een Lisp kan schrijven om een groep blocken in een keer te redefinen,
zoals jullie op het forum hebben geplaatst onder Paste & Redefine in een keer, Part II.
Succes!
Ainstein