Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Verständnisproblem DMU Sectioning 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:  Verständnisproblem DMU Sectioning Makro (2504 mal gelesen)
pfannensepp
Mitglied



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

Beiträge: 74
Registriert: 03.11.2011

HP Z800
12x 2,66Ghz
24GB RAM
CATIA V5 R19

erstellt am: 03. Jul. 2012 17:14    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 Gemeinde

ich erstelle gerade ein Makro welches mir u.a. Verschiedene Schnitte aus einem Produkt ausspielen soll. Es funktioniert alles allerdings komme ich aber nicht diesem "Position-Vektor" klar. Aus der Hilfe habe ich folgendes...

    '    The position of the section
    'oComponents( 0) is the X component of the X-axis
    'oComponents( 1) is the Y component of the X-axis
    'oComponents( 2) is the Z component of the X-axis
    'oComponents( 3) is the X component of the Y-axis
    'oComponents( 4) is the Y component of the Y-axis
    'oComponents( 5) is the Z component of the Y-axis
    'oComponents( 6) is the X component of the Z-axis
    'oComponents( 7) is the Y component of the Z-axis
    'oComponents( 8) is the Z component of the Z-axis
    'oComponents( 9) is the X component of the origin
    'oComponents(10) is the Y component of the origin
    'oComponents(11) is the Z component of the origin

Was bedeuten die Komponenten. Was muss ich auf 1 bzw 0 setzten wenn ich einen Y/X/Z Schnitt will? Kann mir da jemand weiterhelfen wie dieser Array beschrieben werden muss?

danke schonmal

pfannensepp

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

HoBLila
Mitglied
Dipl.-Ing. (BA) praktische Informatik - Senior Entwickler CAx


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

Beiträge: 1118
Registriert: 29.05.2008

DELL PRECISION T3500
Intel(R) Xeon(R) CPU W3540 @ 2.93GHz
12285 MB RAM
NVIDIA Quadro FX 1800
Microsoft Windows 7 Enterprise Service Pack 1
CATIA V5 R19 SP09 HF69
VB6.5
CAA RADE CDC

erstellt am: 03. Jul. 2012 17:34    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 pfannensepp 10 Unities + Antwort hilfreich

Hallo pfannensepp,

kein Problem, steht ja quasi schon alles da.

den X-Vektor (z.B. 1;0;0) gibst Du mit

oComponents(0) = 1
oComponents(1) = 0
oComponents(2) = 0

an

Y-Vektor mit

oComponents(3) = 0
oComponents(4) = 1
oComponents(5) = 0

Z mit --> Normale

oComponents(6) = 0
oComponents(7) = 0
oComponents(8) = 1

und dann noch den Ursprung mit

oComponents(9) = 0
oComponents(10) = 0
oComponents(11) = 0

Hätteste Code dazu gepostet, hätte ich es Dir gleich in Deinen Stil übersetzt.

------------------
Mit freundlichen Grüßen,
Henry Schneider
alias Lila

Es gibt einen ewigen Wettkampf zwischen der Natur und den Ingenieuren:
Die Ingenieure versuchen, immer idioten-sicherere Systeme zu bauen,
die Natur versucht, immer bessere Idioten zu bauen

Xing

[Diese Nachricht wurde von HoBLila am 03. Jul. 2012 editiert.]

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

pfannensepp
Mitglied



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

Beiträge: 74
Registriert: 03.11.2011

HP Z800
12x 2,66Ghz
24GB RAM
CATIA V5 R19

erstellt am: 03. Jul. 2012 17: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

Hi

danke für die schnelle antwort. Aber ich versteh die logik grad immer noch nicht :-) vll liegts an der späten uhrzeit...
ich hab ne funktion der ich einen STring mit schnitt in X/Y/Z übergeb und dann noch eine höhe in welcher er schneiden soll...
hab schonmal soweit geschrieben wie ich komm:-) nur komm ich nicht rauf wie die einzelen arrays beschrieben werden...

Code:

Function CreateSection(SecHeight As Single, SecDir As String)
 

    Dim oprod As Product
    Set oprod = CATIA.ActiveDocument.Product
    Set TheSections = oprod.GetTechnologicalObject("Sections")
    Set cSections = CATIA.ActiveDocument.Product.GetTechnologicalObject("Sections")
    Dim oMasterSection As Object
    Set oMasterSection = cSections.Add
    oMasterSection.Width = 10000
    oMasterSection.Height = 10000
    Dim MatrixPos(11)
   
    On Error Resume Next
    If i < 10 Then                              'standard section erstellen
        For i = 0 To 11
            MatrixPos(i) = 0
        Next
    End If
   
    Select Case SecDir
   
    Case "X"
        MatrixPos(0) = 0
        MatrixPos(1) = 1
        MatrixPos(2) = 0
        MatrixPos(3) = 0
        MatrixPos(4) = 1
        MatrixPos(5) = 0
        MatrixPos(6) = 0
        MatrixPos(7) = 1
        MatrixPos(8) = 0
        MatrixPos(9) = 0'SecHeight
        MatrixPos(10) = 0
        MatrixPos(11) = 0
        ViewAngle = 2

    Case "Y"
        MatrixPos(0) = 1
        MatrixPos(1) = 0
        MatrixPos(2) = 0
        MatrixPos(3) = 1
        MatrixPos(4) = 0
        MatrixPos(5) = 0
        MatrixPos(6) = 1
        MatrixPos(7) = 0
        MatrixPos(8) = 0
        MatrixPos(9) = 0
        MatrixPos(10) = 0'SecHeight
        MatrixPos(11) = 0
        ViewAngle = 2

    Case "Z"
        MatrixPos(0) = 0
        MatrixPos(1) = 0
        MatrixPos(2) = 1
        MatrixPos(3) = 0
        MatrixPos(4) = 0
        MatrixPos(5) = 1
        MatrixPos(6) = 0
        MatrixPos(7) = 0
        MatrixPos(8) = 1
        MatrixPos(9) = 0
        MatrixPos(10) = 0
        MatrixPos(11) = 0 'SecHeight
        ViewAngle = 2
    End Select

   
    oMasterSection.SetPosition MatrixPos
    oMasterSection.Name = "Schnitt in " & SecDir & "=" & SecHeight & "mm"
    oMasterSection.CutMode = 1
   
'+++Ansicht wechseln +++
   
    Dim ThatCamera As Camera
    Set ThatCamera = CATIA.ActiveDocument.Cameras.Item(ViewAngle)
   
    CATIA.ActiveWindow.ActiveViewer.Viewpoint3D = ThatCamera.Viewpoint3D


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

DasDon
Mitglied
Konstruktuer


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

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 03. Jul. 2012 20: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 Nur für pfannensepp 10 Unities + Antwort hilfreich

Moin,

ganz klar ist es mir auch nicht. In Mathe bin ich auch kein Genie und die Erklärung auf Wiki ist mir zu komplex: Drehmatrix

Aber die ersten 9 (0-8) zeigen die jeweiligen Vektoren der Achse.

X Achse
Array(0) = x:x
Array(1) = x:y
Array(2) = x:z

Y Achse
Array(3) = y:x
Array(4) = y:y
Array(5) = y:z

Z Achse
Array(6) = z:x
Array(7) = z:y
Array(8) = z:z

Ein Bauteil welches nicht positioniert ist hat dem entsprechend die folgenden Vektorenwerte:
100#010#001

Bei einer 90° Drehung um die Z Achse(gegen Uhrzeigersinn) wären die werten 0,1,0#-1,0,0#0,0,1
die x achse würde positiv im y Richtung zeigen und gar nicht in x oder z. Die y achse ist nun in die -x Richtung und gar nicht in y oder z. und die Z Achse bleibt im Positiven.

Warum aber die werte bei einer 45 grad drehung nicht 0.5,0.5,0#-0.5,0.5,0#0,0,1 sein können weiß nur der lieber Gott (0.707,0.707,0#-0.707,0.707,707#0,0,1 wären's meines Wissens).

Um die gewünschte Rotationsmatrix zu finden positioniere ich einen Bauteil in ein Produkt mit den gewünschten Position/Rotation und benutze dann das folgende Macro um mir die Werte Anzeigen zulassen.

Code:
Sub CATMain()

DIM What(0)
What(0) = "Product"

DIM coordiantes(11)

Do until xi =1
STATUS =CATIA.ActiveDocument.Selection.SelectElement2(what,"select a product of which the rotation matrx will be displayed",false)
IF STATUS = "Cancel" OR STATUS = "" THEN EXIT SUB
CATIA.ActiveDocument.Selection.Item(1).Value.Position.GetComponents coordiantes

MSGBOX _
"x:xVec:" & coordiantes(0) & chr(10) & _
"x:yVec:" & coordiantes(1) & chr(10) & _
"x:zVec:" & coordiantes(2) & chr(10) & _
chr(10) & _
"y:xVec:" & coordiantes(3) & chr(10) & _
"y:yVec:" & coordiantes(4) & chr(10) & _
"y:zVec:" & coordiantes(5) & chr(10) & _
chr(10) & _
"z:xVec:" & coordiantes(6) & chr(10) & _
"z:yVec:" & coordiantes(7) & chr(10) & _
"z:zVec:" & coordiantes(8) & chr(10)  _
,,"ROTATION VECTORS"
Loop
End Sub



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

pfannensepp
Mitglied



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

Beiträge: 74
Registriert: 03.11.2011

HP Z800
12x 2,66Ghz
24GB RAM
CATIA V5 R19

erstellt am: 04. Jul. 2012 09:07    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

Ah.. Drehmatrix..da war doch etwas :-) Ja vielen dank für deine Hilfestellungen. so langsam kommt licht ins Dunkle. Auch dein Makro ist ganz Hilfreich. Vielen Dank.

Jetzt muss ich's nur noch schaffen die Section irgendwie zu exportieren und dann mit dieser section weiterzuarbeiten. also extrempunkte finden u.ä.

lg

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

pfannensepp
Mitglied



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

Beiträge: 74
Registriert: 03.11.2011

HP Z800
12x 2,66Ghz
24GB RAM
CATIA V5 R19

erstellt am: 04. Jul. 2012 18:10    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

Zitat:
Original erstellt von pfannensepp:
Jetzt muss ich's nur noch schaffen die Section irgendwie zu exportieren und dann mit dieser section weiterzuarbeiten. also extrempunkte finden u.ä.

da hab ich mich mal wieder zu früh gefreut. jetzt hab ich meine Section genau so wie ich sie haben will und kann damit nichts mehr anfangen. Gibt es eine möglichkeit die section als *.catpart zu exportieren, damit ich damit weiterarbeiten kann?

gruß

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

DasDon
Mitglied
Konstruktuer


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

Beiträge: 169
Registriert: 25.07.2011

R18 SP2. WIN

erstellt am: 04. Jul. 2012 19:33    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 pfannensepp 10 Unities + Antwort hilfreich

Moin,

die section als *catpart damit du da mit weiter
arbeiten kannst? Was/wie willst du da mit weiter arbeiten? So weit ich es weiß ist die Section nur einen "Ansichtsänderung" die parts werden nicht "wirklich" geschnitten. Du kannst es meines Wissens nicht als catpart speichern.

Falls du eine Baugruppe hast die du schneiden willst und das Ergebniss als CATPART haben willst, dann vielleicht einen All_CATPART davon erzeugen und die Bodies dann schneiden?

Gruß,

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

pfannensepp
Mitglied



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

Beiträge: 74
Registriert: 03.11.2011

HP Z800
12x 2,66Ghz
24GB RAM
CATIA V5 R19

erstellt am: 04. Jul. 2012 19: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

Hi

Ja..ich habe eine Baugruppe und möchte da einen Schnitt durchlegen. Auf der Schnittlinie sollen dann extrempunkte erzeugt werden. ich habe mir gedacht ich exportiere die Section und hab dann ein Part mit einem sketch drin, welches ich verwenden kann.
folgenden ansatz habe ich...

Dim oNewPartDocument As Object
Set cSections = CATIA.ActiveDocument.Product.GetTechnologicalObject("Sections")
Set oNewPartDocument = cSections.Item(1).Export.SaveAs("c:\temp\test1.catpart")

er erstellt dann auch das Catpart, aber gleichzeitig kommt der fehler "Object required". wenn ich das Part öffne, ist darin der sketch, aber ich kann ihn nicht aktivieren und bearbeiten.

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