Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  AutoCAD Mechanical
  Dateiname in Block- & Attributdef. einfügen

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
  
PDM ERP Integration: 4 Wege für jede Anforderung
Autor Thema:  Dateiname in Block- & Attributdef. einfügen (1615 / mal gelesen)
JennyintheBlock
Mitglied
Entwicklungsingenieur

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

Beiträge: 9
Registriert: 18.01.2018

erstellt am: 22. Jan. 2018 11:11    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 zusammen,

ich frage mich, ob es eine Möglichkeit gibt, dass sich Objekte die man vorher angewählt hat, sich selbst zu einem Block zusammenfassen lassen und dann noch einen Attribut erhalten.
Die Blockdefinition soll den Dateinamen erhalten. Das Attribut soll konstant sein, immer die gleiche Bezeichnung haben und die Vorgabe aus einem Dateipfad entnehmen.
Wenn so etwas möglich wäre, würde ich mich auf Hinweise von euch freuen, weil es einige Arbeiten erleichtern kann.
Ich bin nicht sehr gut im programmieren (hatte es mal im Studium), aber ich bin lernwillig und neugierig und das Thema lässt mich nicht mehr ruhen 

LG
Jenny

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 22086
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 22. Jan. 2018 14:11    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 JennyintheBlock 10 Unities + Antwort hilfreich

"dass sich Objekte die man vorher angewählt hat, sich selbst zu einem Block zusammenfassen lassen"
JA, wenn "sich selbst" den Befehl-Start nicht einschliessen soll 
Blöcke kann man über die Befehlszeile erstellen, die erste Frage wäre jedoch: Wo ist der Basispunkt?


"und dann noch einen Attribut erhalten."
Attributdefinitionen kann man per Befehlszeile erstellen, zum testen Befehl -ATTDEF

"Die Blockdefinition soll den Dateinamen erhalten."
Der Blockname soll identisch dem Dateinamensein?
Wenn du das nicht ganz bewußt durchdacht hast, dann höre ich hier auf,
denn sowas kann ich nicht unterstützen.

"Das Attribut soll konstant sein, immer die gleiche Bezeichnung haben und die Vorgabe aus einem Dateipfad entnehmen."
Das kann dann schon schwierig werden, denn nach welcher Logik ist der Wert zu ermitteln?
Mit Diesel(für ein MenüMakro) müßten die Ordner Pfade/Namen immer dieselbe Länge aufweisen,
dann könnte man sagen "Die Stelle 55 bis 70 aus dem Dateipfad" oder so ähnlich.

Wird mehr Logik nötig geht es mit Diesel oftmals nicht mehr und man müßte mit
Programmierung anfangen,
ab dann ist praktisch alles Möglich.

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

JennyintheBlock
Mitglied
Entwicklungsingenieur

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

Beiträge: 9
Registriert: 18.01.2018

erstellt am: 22. Jan. 2018 14:25    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 und danke für die Antwort  ,

ich erzähl mal was zu meinem Hintergrund: also wir wollen eine AutoCAD-Bibliothek mit ganz vielen Bauteilen erstellen. Von jedem Bauteil eine .dwg mit allen Ansichten die in Blöcken zusammengefasst sind. Der Dateiname der .dwg ist die Bezeichnung des Bauteils und der Definition des Block, allerdings mit einer Abkürzung hinten dran gehängt (z.B. _D als Draufsicht) damit die Ansichten noch unterschieden werden können.
Wenn ich also beim Attribut mithilfe des Dateipfads einen Namen bekomme, dann kann ich das ja auch so mit der Blockdefinition machen oder?

Reichen hierfür auch Programmierkenntnisse in VBA? Mit DIESEL kenne ich mich nicht aus.

LG
Jenny

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

cadffm
Ehrenmitglied V.I.P. h.c.
良い精神



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

Beiträge: 22086
Registriert: 03.06.2002

System: F1
und Google

erstellt am: 22. Jan. 2018 15:15    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 JennyintheBlock 10 Unities + Antwort hilfreich

Man kann sofern man die VBA-Schnittstelle installiert ist so ziemlich alles mit VBA machen,
das Problem ist dann eher die fehlende Kenntnis über das Objektmodel einer DWG.
Allerdings kann man für den Anfang (wie fast alle) AutoCAD-Befehle fernsteuern und dann
ist es kein Problem.
Fernsteuern der Befehlseingabe in der Befehlszeile einfach via sendcommand.


"Wenn ich also beim Attribut mithilfe des Dateipfads einen Namen bekomme,"
Was für einen Namen? Wo kommt der her, wo geht der hin? Sorry 

"dann kann ich das ja auch so mit der Blockdefinition machen oder?"
Das kann ich nur beurteilen wenn mir bekannt ist wie es denn bei Attribut umgesetzt ist.
Was ich meinte oder nicht unterstützen wollte ein Blocknamen identisch zum Dateinamen.

Befehl -ATTEDIT und Befehl -BLOCK & Sendcommand
Dann geht es eigentlich nur noch um die Erstellung der Zeichenketten.


oder wenn man richtig mit vba starten wollte -> Klick
Und zum nachschlagen die Hilfe

------------------
CAD on demand GmbH - Beratung und Programmierung rund um AutoCAD

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

JennyintheBlock
Mitglied
Entwicklungsingenieur

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

Beiträge: 9
Registriert: 18.01.2018

erstellt am: 30. Jan. 2018 10:11    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 nochmal,

via sendcommand sagt mir gerade nicht viel. Was ist das denn und wo finde ich es?

Das mit den Attributen wird vermutlich nicht so gut funktionieren und muss manuell erfolgen. Damit sind wir auch auf der sicheren Seite also das kann aus der Frage gestrichen werden 

Dass der Block so heißen soll wie die Zeichnung würde wirklich nützlich sein, weil es wie gesagt in einer Datenbank landet auf die keiner zugreifen kann. Die Blöcke sollen dann über die Werkzeugpalette eingefügt werden. Aber es würde mich interessieren, warum du das nicht unterstützt also warum du diese Meinung dazu hast.


Nach etwas Recherche hab ich mir jetzt übrigens beigebracht Blöcke mit Hilfe von VBA zu erzeugen.
Nur leider sehe ich keine Objekte im Block. Muss diese vermutlich extra zuweisen. Aber ich weiß nicht wie man das macht. Die Objekte sind bereits in der Zeichnung und müssten eigentlich ausgewählt werden. Am besten so wie die Auswahl des Einfügepunkts.
Kann ich mich damit nochmal an euch wenden?
Hier ist was ich bisher habe:

Sub Block_Erzeugung()

'  Prozedur Block und Attribut schnell erzeugen
    Dim blockObj As AcadBlock
    Dim Blockname As String
    Dim InsertPoint As Variant

   
'  Die Blockdefinition entspricht genau dem Namen der Zeichnung. Der Einfügepunkt muss am Bildschirm bestimmt werden.
        Blockname = Left(ThisDrawing.Name, InStr(1, ThisDrawing.Name, ".", vbTextCompare) - 1)
        InsertPoint = ThisDrawing.Utility.GetPoint(, "Enter a point: ")
        Set blockObj = ThisDrawing.Blocks.Add(InsertPoint, Blockname)
        MsgBox blockObj.Name & " wurde als Block hinzugefügt."

'  Insert the block
    Dim blockRefObj As AcadBlockReference
        Set blockRefObj = ThisDrawing.ModelSpace.InsertBlock(InsertPoint, Blockname)
        ZoomAll
   
End Sub


Danke schon mal im Voraus für`s reinlesen
LG
Jenny

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)2024 CAD.de | Impressum | Datenschutz