Beste,
Ik heb een block aangepast. Deze block komt voor in meerdere tekeningen. Als ik een block in ene tekening aangepast heb, wordt de block in andere tekeningen niet automatisch aangepast.
Hoe kan ik ervoor zorgen dat deze wijziging van deze block ook in andere tekening meeneemt?
Groeten,
Peter smith
In elke aan te passen tekening:
(command "_.insert" (strcat "blockname" "="))
(command)
(command "_.attsync" "Name" "blockname")
Pas de "blockname" aan (2x), kopieer de volledige(!) code en plak deze op de commando regel.
ik heb de naam aangepast en in de aan te passen tekening geprobeerd.
Ik plakte de eerste regel in de commando regel, maar het lukte niet. (zie afbeelding).
Wat heb ik fout gedaan?
Je moet het aangepaste blok ook inserten in de tekening die je wilt aanpassen
dit gaat (gelukkig) niet vanzelf.
Citaat van: peter smith op zo 03 09 2017, 20:00:45ik heb de naam aangepast en in de aan te passen tekening geprobeerd.
Ik plakte de eerste regel in de commando regel, maar het lukte niet. (zie afbeelding).
Wat heb ik fout gedaan?
U dient de
volledige code in één keer te plakken in de commandoregel. Was precies niet duidelijk in mijn bericht.
PS: uw bijlage is leeg.
Citaat van: bart op zo 03 09 2017, 20:45:21Je moet het aangepaste blok ook inserten in de tekening die je wilt aanpassen dit gaat (gelukkig) niet vanzelf.
Dat doet de code die ik opgaf.
De nieuwe versie van het block moet (als dwg) in een map staan die door autocad bij de SupportFileSearchPath is aangegeven.
De eerste regel van de code zoekt het block buiten de tekening en insert deze. Hierbij zorgt de = er voor dat de nieuwe versie de oude vervangt.
Voordat om een insertionpoint gevraagt wordt zorgt de tweede regel er voor dat het insert commando wordt afgebroken.
Ten slotte voert de laatste regel nog een "attsync" uit om eventuele attributen in het block bij te werken.
Ik kende deze methode nog niet maar vindt het een fantastische code!
Groeten,
Reimer
Citaat van: Reimer op ma 04 09 2017, 07:08:53De nieuwe versie van het block moet (als dwg) in een map staan die door autocad bij de SupportFileSearchPath is aangegeven.
Klopt.
Citaat van: Reimer op ma 04 09 2017, 07:08:53De eerste regel van de code zoekt het block buiten de tekening en insert deze. Hierbij zorgt de = er voor dat de nieuwe versie de oude vervangt.
Voordat om een insertionpoint gevraagt wordt zorgt de tweede regel er voor dat het insert commando wordt afgebroken.
Ten slotte voert de laatste regel nog een "attsync" uit om eventuele attributen in het block bij te werken.
Goed uitgelegd.
Citaat van: Reimer op ma 04 09 2017, 07:08:53Ik kende deze methode nog niet maar vindt het een fantastische code!
Welke methode gebruikt u?
Ik heb dit nog nooit geautomatiseerd gedaan. Wel gewoon handmatig via INSERT en dan kiezen voor Redefine.
Toevallig ontdekte ik onlangs dat er geen variabele bestaat voor het wel of niet exploderen van een geïnsert block. Blijkbaar betekend een asterix * voor de variabele INSNAME dat het block direct geëxplodeerd wordt.
Zo is er altijd weer wat te leren. :ole:
Groeten
Reimer
En Peter Smith, lukt het bij u nu ook?