Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Makro gesucht für Drawing: Image/View in einer Tabellen Zelle hinzufü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
Autor Thema:  Makro gesucht für Drawing: Image/View in einer Tabellen Zelle hinzufügen (1093 mal gelesen)
magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 01. Aug. 2018 16:02    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,

ich suche nun seit längerem in allen verschiedenen Seiten/Dokus nach einer Lösung, aber vielleicht könnt ihr mir weiterhelfen wenn ich das Problem hier genauer erläutere:

Und zwar erstelle ich mittels Makro zunächst eine einfache Tabelle in einer Drawing, in dessen Zellen entweder ein String oder Image reinkommen soll. Die Strings sind kein Problem, aber bei den Image wird es schwieriger.
In Catia ist das wie ich herausgefunden habe auf folgendem Weg möglich: Arbeitsansichten > in der Drawing eine neue View erstellen > Blatthintergrund > Blatt View selektieren und oben in der Leiste bei "Einfügen" auf "Bild" > jeweilige Zelle aus Tabelle selektieren (doppel Mausklick) > [Rechtsklick] Ansicht hinzufügen > Ansicht auswählen und das Image befindet sich in der Zelle.

Leider zeichnet Catia dazu kein Makro auf und so komme ich nur bis zu dem Schritt mit dem 'Image in die View hinzufügen'. Aber wie kriege ich dann per Makro die View (oder gleich einfach nur das Image wenn es geht) in die jeweilige Zelle? Bis jetzt habe ich ein jpg Image zum testen verwendet. Ich habe viel herumprobiert, bin aber so langsam ratlos.

Hier der Code wo 2 Zellen erstellt werden bis hin zum erstellen der View mit dem Image:

Code:

'Zelle 1 und 2 erstellen'
Dim drawingText1 As DrawingText
Set drawingText1 = drawingTable1.GetCellObject(1, 1)

Dim drawingText2 As DrawingText
Set drawingText2 = drawingTable1.GetCellObject(2, 1)

'neue View zur Drawing hinzufügen'
Set drawingViews1 = drawingSheet1.Views

Dim drawingView2 As DrawingView
Set drawingView2 = drawingViews1.Add("pictureAnsicht1")

Dim drawingPictures1 As DrawingPictures
Set drawingPictures1 = drawingView2.Pictures

'Image zur neuen View hinzufügen'
Dim drawingPicture1 As DrawingPicture
Set drawingPicture1 = drawingPictures1.Add("C:/...", 0#, 0#)

'Zelle 1 mit Text füllen'
drawingTable1.SetCellString 1, 2, "testColumn"

'in Zelle 2 soll das Image rein'
drawingTable1.SetCellString 2, 1, "In diese Zelle soll ein Image rein"


Danke schon mal fürs durchlesen, ich hoffe jemand kann mir weiterhelfen 

mfg Mago

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 02. Aug. 2018 08:21    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 magomed 10 Unities + Antwort hilfreich

Hallo,

ich habe mir das gerade mal angesehen (in R26), und ich sehe da keine Möglichkeit den von dir beschriebenen manuellen Weg zu automatisieren. Die Methode "SetCellObject" akzeptiert nur Textfelder als Objekt.

Aus der Automation Doku:

o Sub SetCellObject( long  iRow, long  iCol,  DrawingText  iText)

Sets an object in a cell of a drawing table.
Parameters:
iRow
The cell row
iCol
The cell column
iText
The Drawing Text to set in the cell

Example:
This example puts the drawing text iText in the cell (1,3) of the table MyTable.
iRow = 1
iCol = 3
MyTable.SetCellObject iRow, iCol, iText

Da wirst du wohl die Position des Bildes an der Zelle orientieren. Du könntest mit "GetCellObject" die Position des Textfeld der Zelle auslesen und das Bild entsprechend positionieren. Evtl. kannst du die Tabelle auch in einer separaten Zeichnung vorbereiten und von dort aus kopieren und einfügen.

Was anderes fällt mir da auf die Schnelle nicht ein, vielleicht hat jemand anderes noch eine Idee.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 02. Aug. 2018 08:22    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 magomed 10 Unities + Antwort hilfreich

Sorry! - Doppelpost

[Diese Nachricht wurde von Randle am 02. Aug. 2018 editiert.]

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

magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 02. Aug. 2018 09:49    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 Randle,

Danke für deine Antwort! Wirklich schade dass die Vorgehensweise mit der View nicht im Code umsetzbar zu sein scheint.

Ich hab mich jetzt mal an deinen Ansatz versucht. Bild einfügen, positionieren und Größe ändern ist kein Problem. Nun habe ich aber das Problem wenn ich die Tabelle in die Drawing einfüge und ein Bild darüber Schiebe, ist das Bild immer hinter der Tabelle. Das kann man umgehen indem man die Eigenschaft "Texthintergrund" auf "(Nein)" setzt, danach sind die Zellen ohne Background. Aber jetzt habe ich wieder das Problem wie ich diese Eigenschaft im Code ändern kann, weiß das Jemand?

MFG Mago

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

bgrittmann
Moderator
Konstrukteur


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

Beiträge: 11780
Registriert: 30.11.2006

CATIA V5R19

erstellt am: 02. Aug. 2018 15:47    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 magomed 10 Unities + Antwort hilfreich

Servus

Vermutlich über:

Code:
Set MyText = MyTabe.GetCellObject(1,1)
MyText.TextProperties.Blanking = catBlankingOnGeom
Gruß
Bernd

------------------
Warum einfach, wenn es auch kompliziert geht.

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

magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 03. Aug. 2018 09:13    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

Hey Bernd,

Danke für deine Antwort.
Ich habe den Code ausprobiert, aber es hat sich nichts verändert. Welche Funktion hat catBlankingOnGeom, und muss ich das vorher initialisieren?

mfg Mago

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 03. Aug. 2018 09:23    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 magomed 10 Unities + Antwort hilfreich

Hallo,

die Eigenschaft funktioniert leider nur bei Textfeldern, also nicht bei Tabellen.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 03. Aug. 2018 11:09    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

Ich laufe von einer Sackgasse in die nächste  
Gibt es Niemanden der ein Bild per Makro in eine Tabelle hinzugefügt hat? Dachte am Anfang das wäre mit so etwas wie DrawingText.addImage erledigt, aber war es leider nicht.

[Diese Nachricht wurde von magomed am 03. Aug. 2018 editiert.]

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 03. Aug. 2018 11:28    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 magomed 10 Unities + Antwort hilfreich

Hallo,

muss es denn unbedingt ein Makro sein, bzw. komplett automatisiert?

Ansonsten könntest du die Tabelle ja vorbereiten und in einem 2D Katalog (oder auch nur in einer Zeichnung) speichern und diese per Makro dort raus kopieren (oder der Anwender muss das halt tun), der Rest (was auch immer du letztendlich vorhast) kann dann ja evtl. automatisiert werden.

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 03. Aug. 2018 11:28    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 magomed 10 Unities + Antwort hilfreich

verdammt schon wieder ein Doppelpost, sorry

[Diese Nachricht wurde von Randle am 09. Aug. 2018 editiert.]

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

magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 03. Aug. 2018 11: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

Die Tabelle wird bereits von wo anders rüber kopiert. Und von da kann man nur einen PATH zum Bild mitschicken. Wenn es nicht automatisierbar ist, müsste es der User dann nachdem die Tabelle erstellt wurde manuell hinzufügen, das wäre vielleicht Ok, aber nicht optimal. Vielleicht meldet sich hier noch Jemand der sowas bereits gecodet hat.

Aber danke für die Antworten 

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

Randle
Mitglied
CAD/PLM Consultant


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

Beiträge: 695
Registriert: 12.04.2003

Win10 x64
CATIA V5 R18, R19, R21, R27-29

erstellt am: 03. Aug. 2018 11:54    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 magomed 10 Unities + Antwort hilfreich

Hallo,

aber wenn du die Tabelle schon kopierts, kannst du denn dann im Quelldokument nicht die entsprechende Eigenschaft der Tabelle anpassen?

Gruß
Randle

------------------
Wer für nichts steht, fällt für alles!

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

magomed
Mitglied


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

Beiträge: 6
Registriert: 01.08.2018

erstellt am: 03. Aug. 2018 12:09    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

Die Tabelle aus den Quelldokument hat nichts mit der in der Catia zu tun. Es werden lediglich mittels Makro alle Zeilen und Spalten, mit Inhalt, in die Catia Drawing rüber kopiert. Da würde es mir z.B. nichts nützen die Fontsize im Quelldokument auf 10 zu setzen, da ich für die neue Tabelle in der Catia sowieso ein neues Fontsize machen müsste, mittels eines Makros.

mfg Mago

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