Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Rund um AutoCAD
  Dyhamische Blöcke tauschen

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Dyhamische Blöcke tauschen (2451 mal gelesen)
Mangrove
Mitglied



Sehen Sie sich das Profil von Mangrove an!   Senden Sie eine Private Message an Mangrove  Schreiben Sie einen Gästebucheintrag für Mangrove

Beiträge: 283
Registriert: 07.02.2007

Win 7 x64 Intel i7 3,5 Ggz, 16GB,
Quadro K 2000
Acad 2016
Acad Architecture 2016
Revit 2017 R2

erstellt am: 23. Jul. 2009 16:45    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Da die Suchmaschine momentan offline ist poste ich meine Frage direkt, bitte um Verzeihung.

Gibt es eine Möglichkeit dynamische Blöcke, in unserem Fall Fenster gegen andere auszutauschen ?

Leider funktioniert der Befehl Block replace der Expresstools nicht da die dynamischen Blöcke temporäre Namen je nach aktuellem Zustand wie zB *D6 tragen. Das Tool wirft deswegen einen Fehler aus.

Vielen Dank im voraus für eure Anregungen

Jakob

------------------
Alle Fragen sind es wert gestellt zu werden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

j-sc
Ehrenmitglied



Sehen Sie sich das Profil von j-sc an!   Senden Sie eine Private Message an j-sc  Schreiben Sie einen Gästebucheintrag für j-sc

Beiträge: 1837
Registriert: 14.07.2003

W7 64Bit
intel core I7 2,8GHz / 4GB
ATI FIRE PRO V5800
acad2011
acad2015
acad2018
Athena
Expresstools

erstellt am: 23. Jul. 2009 17:06    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mangrove 10 Unities + Antwort hilfreich

High,

rein theoretisch funktioniert das genau wie bei "normalen" Blöcken, Einfügen einer gleichnamigen Blockdefinition (dwg) mit anderem Inhalt.

In der Praxis muss man mit den dynamischen Parametern allerdings vorsichtig sein. Sind in der neuen Blockdefinition nur nichtdynamische Sachen geändert und die dynamischen ansonsten die gleichen geblieben, sollte es funktionieren.

Gibt es Änderungen bei dynamischen Parametern, sollte man sich bei jeder eingefügten Blockreferenz vergewissern, ob das Ergebnis auch so aussieht, wie man's sich vorgestellt hat.

------------------
Ciao
J-SC
  ... geht's vielleicht doch?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mangrove
Mitglied



Sehen Sie sich das Profil von Mangrove an!   Senden Sie eine Private Message an Mangrove  Schreiben Sie einen Gästebucheintrag für Mangrove

Beiträge: 283
Registriert: 07.02.2007

Win 7 x64 Intel i7 3,5 Ggz, 16GB,
Quadro K 2000
Acad 2016
Acad Architecture 2016
Revit 2017 R2

erstellt am: 23. Jul. 2009 17:19    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

Leider wollen wir aber den block Name A gegen einen mit namen B austauschen.

Danke für deine Bemühung

Jakob

------------------
Alle Fragen sind es wert gestellt zu werden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 23. Jul. 2009 17:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Jakob,

könntest Du eine Zeichnung mit vorhandenen Blöcken und eine neue Zeichnung mit der neuen Blockdefinition uploaden, denn es wird IMHO nicht leicht sein, grundsätzliche Antworten für die vielfältigen Möglichkeiten von dynamischen Blockdefinitionen (mit 2010 auch noch die Parametrik dazu) zu geben. Anhand Deines Beispiels kann ev. eine Lösung gefunden werden.

- alfred -

------------------
www.hollaus.at

Mangrove
Mitglied



Sehen Sie sich das Profil von Mangrove an!   Senden Sie eine Private Message an Mangrove  Schreiben Sie einen Gästebucheintrag für Mangrove

Beiträge: 283
Registriert: 07.02.2007

Win 7 x64 Intel i7 3,5 Ggz, 16GB,
Quadro K 2000
Acad 2016
Acad Architecture 2016
Revit 2017 R2

erstellt am: 23. Jul. 2009 17:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke vielmals für das Angebot aber aufgrund des Zeitdrucks haben die Kollegen sich schon dazu entschlossen die Blöcke von Hand zu ändern.

Danke vielmals

Jakob

------------------
Alle Fragen sind es wert gestellt zu werden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP


Ex-Mitglied

erstellt am: 23. Jul. 2009 18:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

Hi Jakob,

versteh ich, Zeitdruck während eines Projekts kann sich nicht in Luft auflösen. 

Aber vielleicht hast Du das Problem mal wieder, vielleicht schon beim nächsten Projekt?! Dann hast Du aber wieder keine Lösung. 

Vielleicht schaffst Du es ja, wenn das Projekt fertig ist; könnte durchaus auch für andere (wie auch für mich) auch hilfreich sein, die diesen Thread später lesen. 

- alfred -

------------------
www.hollaus.at

Mangrove
Mitglied



Sehen Sie sich das Profil von Mangrove an!   Senden Sie eine Private Message an Mangrove  Schreiben Sie einen Gästebucheintrag für Mangrove

Beiträge: 283
Registriert: 07.02.2007

Win 7 x64 Intel i7 3,5 Ggz, 16GB,
Quadro K 2000
Acad 2016
Acad Architecture 2016
Revit 2017 R2

erstellt am: 23. Jul. 2009 18:39    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Werde schauen was ich machen kann ?

lg

Jakob

------------------
Alle Fragen sind es wert gestellt zu werden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

SNOOP_69
Mitglied
Konstrukteur - Innenausbau


Sehen Sie sich das Profil von SNOOP_69 an!   Senden Sie eine Private Message an SNOOP_69  Schreiben Sie einen Gästebucheintrag für SNOOP_69

Beiträge: 539
Registriert: 25.01.2006

Hardware:
- Lenovo-W540
Software:
- Win10 Pro 64bit
- Autocad 2018-2023 (Vollversion+LT)
- BricsCad
- DraftSight
- SolidWorks 2017-2022
- SWOOD 2019
- MasterCAM 2018-2022

erstellt am: 24. Jul. 2009 07:16    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mangrove 10 Unities + Antwort hilfreich

Moin,

ich würde in diesem Fall, da es ja wahrscheinlich schnell und einfach gehen soll, einfach mit den "Namen spielen".

Ansatz: Block A kopieren über 0,0, dann in neue Zeichnung einfügen über 0,0. Dort umbenennen in Block B. Dann Block B wieder in die Zeichnung kopieren und übers Designcenter neu definieren.

Ist zwar ein wenig umständlich, aber (aus eigener Erfahrung) machbar.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Mangrove
Mitglied



Sehen Sie sich das Profil von Mangrove an!   Senden Sie eine Private Message an Mangrove  Schreiben Sie einen Gästebucheintrag für Mangrove

Beiträge: 283
Registriert: 07.02.2007

Win 7 x64 Intel i7 3,5 Ggz, 16GB,
Quadro K 2000
Acad 2016
Acad Architecture 2016
Revit 2017 R2

erstellt am: 24. Jul. 2009 09:03    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Danke vielmals für deinen Ansatz. Bei uns ist es leider eine gröbere Aktion deswegen wäre eine "Methode" von vorteil.

Jakob

------------------
Alle Fragen sind es wert gestellt zu werden

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 28. Jul. 2009 09:40    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Mangrove 10 Unities + Antwort hilfreich

Hi Mangrove,

Du könntest mal versuchen mit folgendem Lisp einen internen dynamischen Block mit 'ner externen DWG die einen dynamischen Block definiert upzudaten. Bei normalen Blöcken funktioniert das problemlos, wozu das bei dynamischen Blöcken führt kannst Du ja einfach mal ausprobieren. Übrigens kann bei dieser Lösung der externe Name sich vom internen Namen der Blockdefinition komplett unterscheiden (siehe Kommentare am Anfang des Progs...)

Update: Ich hab' auch noch mal berücksichtigt, das der Blockname am Ende umbenannt wird.
Update 2: Attdia und Attreq Sysvars berücksichtigt.

Code:

;|
Funktion macht ein Update einer internen Blockdefinition durch den Import einer externen DWG.
Argumente:
INTERNAL-BLOCKNAME = String, Name des Blocks, z.B. "A"
EXTERNAL-FULLPATHFILENAME = String, wenn sich die zu importierende DWG im Acad Suchpfad befindet,
  reicht hier die Angabe des Dateinamens, z.B. "B.dwg"
  Befindet sich die Datei NICHT im Suchpfad, bitte kompletten Pfad angeben,
  z.B. "c:\\temp\\B.dwg" oder "c:/temp/B.dwg". Bei Verwendung von Backslashes
  stehen zwei Backslashes für einen, da der Backslash normalerweise in Lisp
  ein Steuerzeichen darstellt.
FLAG-RENAME = Flag 'T oder nil. Bei 'T wird die interne Blockdefinition umbenannt in den
  Dateinamen der externen Datei.
  Bei nil findet keine umbenennung statt.
Anwendungsbeispiel:
(UPDATE-BLOCK "B" "c:\\temp\\A.dwg" T)
(UPDATE-BLOCK "B" "c:\\temp\\A.dwg" nil)
(UPDATE-BLOCK "B" "A.dwg" nil)
|;
(defun UPDATE-BLOCK
    (INTERNAL-BLOCKNAME     EXTERNAL-FULLPATHFILENAME
    FLAG-RENAME     /
    FILENAME ALT_ATTDIA ALT_ATTREQ
    )
  (if (not (tblsearch "BLOCK" INTERNAL-BLOCKNAME))
    (princ (strcat "\nInterne Blockdefinition >"
  INTERNAL-BLOCKNAME
  "< nicht gefunden!"
  )
    )
    (if (not (setq FILENAME (findfile EXTERNAL-FULLPATHFILENAME)))
      (princ (strcat "\nExterne DWG >"
    EXTERNAL-FULLPATHFILENAME
    "< nicht gefunden!"
    )
      )
      (progn
(setq ALT_ATTREQ (getvar "attreq")
      ALT_ATTDIA (getvar "attdia")
)
(setvar "attreq" 0)
(setvar "attdia" 0)
(command "_.-insert"
(strcat INTERNAL-BLOCKNAME "=" FILENAME)
(command)
)
(setvar "attreq" ALT_ATTREQ)
(setvar "attdia" ALT_ATTDIA)
(if (and FLAG-RENAME ;_ Wenn Flag gesetzt
(/= (strcase INTERNAL-BLOCKNAME)
    (strcase (nth 1 (fnsplitl FILENAME)))
) ;_ Wenn interner und externer Name ungleich
(not (tblsearch "BLOCK" (nth 1 (fnsplitl FILENAME)))) ;_ wenn neuer Name nicht bereits existiert
    )
  (progn ;_ ...dann benenne den internen Block wie den importierten
    (command "_.-rename"
    "Block"
    INTERNAL-BLOCKNAME
    (nth 1 (fnsplitl FILENAME))
    )
    (princ (strcat "\nBlockdefinition >"
  INTERNAL-BLOCKNAME
  "< mit >"
  FILENAME
  "< aktualisiert und unbenannt in >"
  (nth 1 (fnsplitl FILENAME))
  "<!"
  )
    )
  )
  (princ (strcat
  "\nBlockdefinition >"
  INTERNAL-BLOCKNAME
  "< mit >"
  FILENAME
  "< aktualisiert, alter Name beibehalten !"
  )
  )
)
      )
    )
  )
  (princ)
)

------------------
Ciao,
Marc
    

[Diese Nachricht wurde von marc.scherer am 28. Jul. 2009 editiert.]

[Diese Nachricht wurde von marc.scherer am 28. Jul. 2009 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz