FastFiber

Block aanpassen

Gestart door peter smith, za 02 09 2017, 19:43:01

Vorige topic - Volgende topic

peter smith

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

gery

#1
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.
AutoCAD 2020 - Windows 10

peter smith

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?

bart

Je moet het aangepaste blok ook inserten in de tekening die je wilt aanpassen
dit gaat (gelukkig) niet vanzelf.
Domme vragen bestaan niet.
Domme antwoorden wel.

m.vr. groet Bart

gery

#4
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.
AutoCAD 2020 - Windows 10

gery

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.
AutoCAD 2020 - Windows 10

Reimer

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

gery

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?
AutoCAD 2020 - Windows 10

Reimer

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

gery

En Peter Smith, lukt het bij u nu ook?
AutoCAD 2020 - Windows 10

FastFiber