Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  freistich via makro

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:  freistich via makro (1443 mal gelesen)
silima
Mitglied


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

Beiträge: 3
Registriert: 01.12.2006

erstellt am: 16. Mrz. 2007 15:08    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 darf blöderweise für meine Studienarbeit Makroprogrammierung in Catia machen. Mein prof will, dass ich ein Makro für die automatische erstellung von freistichen bastle...

Sonst bin ich in Catia doch ganz gut, aber bei Programmierung beißts dann aus, ich kann eigentlich kein VB. Immerhin schafft es meine Programmierkunst schon, eine msgbox auszugeben (haha!) und der user kann einen punkt auswählen. den will ich benutzen, um die Geometrie des Freistichs da rum zu bauen. jetz frag ich mich, wie ich das Makro dazu bring, die koordinaten des durch den user gewählten punktes einzulesen, so dass ich diese dann als starpunkt für die erstellung einer linie in der skizze verwenden kann! wäre nett, wenn mir da jemand weiterhelfen könnte.

außerdem will ich mich nicht einfach auf zahlenwerte beziehen, das Makro soll linien in bestimmten abständen erstellen, also z. b. -0,3 cm in X-Richtung vom ursprünglichen wert entfernt. wie mach ich das am besten?

schon mal dank fürs drüber nachdenken :-)

lg susi

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: 19. Mrz. 2007 07: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 Nur für silima 10 Unities + Antwort hilfreich

Servus

Würde sich zur Erstellung eines Freistiches nicht eher ein UDF (user defined feature) oder eine Powercopy anbieten?

Gruß

Bernd

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 20. Mrz. 2007 10:01    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 silima 10 Unities + Antwort hilfreich

Also Powercopy oder UDF ist ne gute Idee, wenn jedoch ne Programmierung erforderlich ist, dann bringt das nicht viel;-)

Hast du vielleicht ein Beispielbild wie das ganze Fertig aussehen sollte???
Zusätzlich dazu sollte klar sein was der Benutzer alles eingeben muss damit der Freistich dann vollständig deklariert ist.
Wenn du mal diese Dinge postest können wir dir vielleicht weiterhelfen.


Gruß Timber

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

silima
Mitglied


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

Beiträge: 3
Registriert: 01.12.2006

erstellt am: 21. Mrz. 2007 21:43    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 weiß, dass das ganze mit PowerCopy etc. wahrscheinlich einfacher gehen würd. Das Ziel dieser Studienarbeit ist es aber, das ganze als Makro zu programmieren... da hat timberwolve ganz recht.

ich habe schon eine gute idee, wie das makro aussehen soll, aber es hapert halt dran, dass ich nicht weiß, wie ich genau programmiere, was ich haben will... hab die letzten tage schon einiges gelernt. trotzdem hängt es an einem ganz bestimmten punkt:

ich will die x- und y-koordinaten eines punktes einer skizze einlesen, so dass die werte als wert z. b. xpunkt und ypunkt im makro zur verfügung stehen... das ist eigentlich schon alles. drei oder vier programmzeilchen hierzu wären nett!

auf die zweite frage in meinem anfangsbeitrag (wie geh ich relativ in x-richtung um einen gewissen betrag) hab ich schon eine lösung gefunden.

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 22. Mrz. 2007 13:35    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 silima 10 Unities + Antwort hilfreich

Muss es ein Skizzenpunkt sein?? Warum nimmst du keinen 3D-Punkt??? Ich würde vielleicht den Skizzenpunkt einfach vermassen, dann könntest du auf die Constraints zurückgreifen bzw. die Werte die dann darin stehen.

Gruß Timber

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

Timberwolve
Mitglied



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

Beiträge: 233
Registriert: 21.07.2006

erstellt am: 22. Mrz. 2007 13:48    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 silima 10 Unities + Antwort hilfreich

Hallo nochmal.

Also Ich hab nun ne Lösung für dich. Es geht auch mit nem unbemasstem Punkt:

Hier ein kleines Beispiel:

Vorraussetzung: Der Punkt muss als Objekt schon vorliegen

Code:

Dim Koordinaten(1) 'dies deklariert ein Array worin die Koordinaten geschrieben werden.

2DPunkt.GetCoordinates Koordinaten 'Dieser Befehl befüllt das Array mit dem X und Y Wert


Msgbox "X=" & Koordinaten(0) & "Y=" & Koordinaten(1)


An der Stelle an dem mein "2DPunkt" steht, musst du das Objekt des Punktes eintragen. Dann funktioniert das wunderbar.


HOffe es hilft die weiter

Gruß Timber

------------------
Wenn alle Stricke reissen, nehm ich ein Drahtseil

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

silima
Mitglied


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

Beiträge: 3
Registriert: 01.12.2006

erstellt am: 15. Apr. 2007 03:38    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

vielen dank für die antworten, hat mir auf jeden fall weiter geholfen.

im moment hab ich ein problem mit datentypen.

wenn ich eine inputbox anlege, gibt mir diese die eingabe als String zurück, auch wenn es sich um Zahlen handelt, oder?

Wie wandle ich nun diesen String (der hoffentlich nur aus Zahlen besteht) in eine Zahlen-Variable, am besten Double um? ich hatte mal programmieren an der uni, allerdings nicht in VB sondern in Delphi (haha, bitte nicht lachen anfangen!), dort kann man mit ner funktion StrToFloat einen String in eine Gleitkommazahl umwandeln...

Ich hab mir auch schon den Kopf darüber zerbrochen, aber ich krieg es einfach nicht hin.

IsNumeric gibt mir ja auch bloß zurück, ob der String eine Zahl ist oder nicht (true oder false)

hab auch schon Val ausprobiert, aber da sagt mir der Editor immer, dass die Typen unverträglich sind.

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



Technischer Systemplaner (m/w/d) / Technischer Zeichner (m/w/d)

Die Gerhardt Braun Unternehmensgruppe entwickelt, produziert und montiert flexible Raumsysteme für den Wohnungsbau, Industrie und Gewerbe. Diese beinhalten Trennwände, Einhausungen, Überdachungen und Kompaktboxen. Mit rund 250 kompetenten MitarbeiterInnen und über 200 Montagepartnern sind wir an 9 Standorten in Europa vertreten.

Wir sind ein agiles Familienunternehmen in einer wachstumsgeprägten Branche....

Anzeige ansehenKonstruktion, Visualisierung
Lusilnie
Mitglied



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

Beiträge: 1486
Registriert: 13.07.2005

erstellt am: 15. Apr. 2007 23:08    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 silima 10 Unities + Antwort hilfreich

Hallo silima,

die Umwandlung von "String" in "Double" erfolgt mit:

Code:
Double = CDbl(String)
Allerdings musst Du hier noch das Problem des "richtigen" Dezimal-Trennzeichens berücksichtigen, je nach Betriebssystem, Spracheinstellung,...


mfg,
Lusilnie

------------------

Alle Aussagen zu DassaultSystemes-Produkten sind sehr optimistisch, selbst diese!!!

frei nach größeren Geistern

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