Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Bitte um Hilfe!!!

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:  Bitte um Hilfe!!! (2800 mal gelesen)
Schmado
Mitglied
Maschinenbaustudent

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

Beiträge: 4
Registriert: 30.12.2013

CATIA V5R21

erstellt am: 11. Nov. 2014 10:12    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


Part.png

 
Moinmoin Leute,

ich bin Makro-Anfänger. Und wenn ich Anfänger schreibe, meine ich Nichtskönner.   Ich stecke grad ziemlich fest und weiß nicht mehr weiter. Vielleicht könnt ihr mir helfen.
Wer das Makro mal testen möchte, der braucht also eine begrenzte Fläche (Ich verwende eine Kugelfläche mit R=2200mm und verschneide mit Ebenen),
eine geschlossene Kurve auf der Fläche (parallele Kurve zur Flächengrenze),
und einen Startpunkt.
Diese Elemente liegen dann je nach Spracheinstellung im "Geomtrischen Set.1" oder "Geometrical Set.1". Das muss angepasst werden, damit das Makro an der Stelle keinen Fehler ausspuckt.

Ich möchte auf einer Fläche zum Schluss Kurse erzeugen, die zu einer gewählten Achse einen konstanten Winkel haben. Dazu habe ich mir eine Art neues Achsensystem mit Ebenen und Linien erzeugt (in GeoSet "NewRosette" gespeichert). Bis dahin läuft das Ding. Es wird erstellt. Ab dann fangen die Probleme an.

Die Kurse sollen quasi schrittweise erstellt werden. Für die Genauigkeit der Kurse ist die Linie "Accuracy" verantwortlich. Je kürzer die Linie, desto genauer der Kurs. Sie wird kopiert und bleibt auch kopiert und wird anschließend im Geoset "Support_Geometry" tot eingefügt. Danach muss der Startpunkt der NewRosette, der momentan auf der "Dummy"-Linie liegt, auf die tote Linie in den vordersten Punkt verschoben (Ratio ist 1). Es muss also die Kurve verändert werden, auf der der Startpunkt liegt, ohne dass ein neuer Punkt erstellt wird, weil sich das von mir erzeugte Rosettensystem auf den Startpunkt bezieht. Es soll sich mitverschieben. Ist das verständlich? Wenn ich das in Catia im Recorder aufnehme, wird immer ein neuer PointOnCurve erstellt. Das möchte ich nicht. Ich stehe komplett aufm Schlauch grad.

Also:
- Nachbau des Achsensystems "NewRosette" wird erstellt. Startpunkt auf Dummy-Linie
1. Kopiere Accuracy-Linie aus Geoset "NewRosette" und füge tote Linie in Geoset "Support-Geometry" ein
2. Kurve des Startpunktes ändern --> neue Kurve soll tote Linie sein; Punkt soll am Ende der Kurve liegen
3. NewRosette soll sich nun in diesen Punkt verschieben
- Accuracy-Linie ist damit einen Schritt weitergerückt
- es beginnt wieder bei 1.

Es soll solange verschoben werden, bis die Accuracy-Linie nicht mehr auf der Fläche liegt. Dann wird das NewRosette wieder in den Startpunkt verschoben, die Richtung der Accuracy-Linie umgekehrt und in die andere Richtung verschoben (wieder Schritte 1 bis 3), bis man wieder an der Flächengrenze angelangt ist. Das ist das Ende der schrittweisen Kurserstellung. Ich habe jetzt einen Kurs von Flächenkante zu Flächenkante aus vielen einzelnen toten Kurven. Diese sollen über einen Join (Zusammenfügen) zu einem Kurs zusammengefasst werden und im Geoset "Courses" gespeichert werden.

Bei dieser Prozedur fehlen mir einfach die Kenntnisse. Vielleicht ist da auch en Denkfehler drin und ich kann den Startpunkt samt der NewRosette nicht ohne weiteres verschieben.  

hier mal mein Makro bis zur Stelle, an der ich versage:

Code:

Sub CATMain()
CATIA.refreshDisplay = False

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Start_Messagebox
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

'Dim msgResult As MsgBoxResult
msgResult = MsgBox( "This macro generates constant angle layup courses. The input elements must be HybridShape Objects (No sketches)! Following inputs are needed:" & Chr(10) & Chr(10) & " - Course width"  & Chr(10) & " - Ply number"  & Chr(10) &  " - Layup direction"  & Chr(10) & " - Support surface"  & Chr(10) & " - Boundary of the ply"  & Chr(10) & " - 0° reference direction"  & Chr(10) & " - StartPoint" & Chr(10) & Chr(10) & "Do you wish to proceed?", 1, "Layup geometry: Rosette Rule")
If msgResult = 2  Then
Exit Sub
End If

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Defintions ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Set activeDoc = CATIA.ActiveDocument
Set activePart = activeDoc.Part
Set hybridBodies1 = activePart.HybridBodies
Set hybridBody0 = hybridBodies1.Item("Geometrical Set.1")
Set hybridShapes0 = hybridBody0.HybridShapes
Set hybridShapeFactory1 = activePart.HybridShapeFactory
Set selection1 = activeDoc.Selection

Dim hybBods(4) As HybridBody
Dim inputs(4) As HybridShape
Dim SelVisProp As VisProperties 'VisProperties variable for changing appearance of the courses created
Dim InputObjectType(0)

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Inputs ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

'Enter the geodesic distance between the startpoints of the courses.
courseWidth = 38.1
courseWidth = InputBox("Enter geodesic distance between the startpoints of the courses.","Input [mm]",courseWidth)
If (courseWidth = "") Then
Exit Sub
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Enter ply number.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
plyNo = 1
plyNo = InputBox("Enter the number of the ply.","Input",plyNo)
If (plyNo = "") Then
Exit Sub
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Enter the fiber direction angle.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Selection1.Clear
layupDir = 0
layupDir = Inputbox("Enter the layup direction", "Input [°]" , layupDir)
If (layupDir = "") Then
Exit Sub
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Ask user to select the support surface.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Fläche anwählen
InputObjectType(0) = "BiDim"
Selection1.Clear
Status = Selection1.SelectElement2(InputObjectType, "Select the support surface.", True)
If (Status = "Cancel") Then
Exit Sub
Else
Set supSurf = Selection1.Item(1).Value
Set inputs(1) = supSurf
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Ask user to select the Boundary.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Parallele Kurve auf Fläche anwählen
InputObjectType(0) = "MonoDim"
Selection1.Clear
Status = Selection1.SelectElement2(InputObjectType, "Select the ply boundary.", True)
If (Status = "Cancel") Then
MsgBox "Canceled by user or selected element was a sketch."
Exit Sub
ElseIF (TypeName(Selection1.Item(1).Value) = "Sketch")  Then
MsgBox "Canceled by user or selected element was a sketch."
Exit Sub
Else
Set boundary = Selection1.Item(1).Value
Set inputs(2) = boundary
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Ask user to select the 0 degrees reference direction
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Achse als Referenz anwählen
Selection1.Clear
Status = Selection1.SelectElement2(InputObjectType, "Select the 0° reference direction.", True)
If (Status = "Cancel") Then
MsgBox "Canceled by user or selected element was a sketch."
Exit Sub
ElseIf (TypeName(Selection1.Item(1).Value) = "Sketch") Then
MsgBox "Canceled by user or selected element was a sketch."
Exit Sub
Else
Set refDir = Selection1.Item(1).Value
Set inputs(3) = refDir
End If

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Ask user to select the Start Point
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Startpunkt anwählen
InputObjectType(0) = "ZeroDim"
Selection1.Clear
Status = Selection1.SelectElement2(InputObjectType, "Select the StartPoint.", True)
If (Status = "Cancel") Then
MsgBox "Canceled by user or selected element was a sketch!"
Exit Sub
ElseIf (TypeName(Selection1.Item(1).Value) = "Sketch") Then
MsgBox "Canceled by user or selected element was a sketch!"
Exit Sub
Else
Set startPt = Selection1.Item(1).Value
Set inputs(4) = startPt
End If

InputObjectType(0) = "AnyObject"
Dim seltype


'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Preparation of GeoSets ++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

'Creation of geometrical sets and their HybridShapes
'Check whether the GeoSets exist. If not, create them.
Selection1.Clear
On Error Resume Next
Selection1.Add hybridBodies1.Item("Course_Width " & cstr(courseWidth) & " mm" & "__Layup direction " & cstr(layupDir) & "°")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody1 = hybridBodies1.Add()
hybridBody1.Name = "Course_Width " & cstr(courseWidth) & "mm" & "__Layup direction " & cstr(layupDir) & "°"
Set hybridShapes1 = hybridBody1.HybridShapes
Selection1.Clear
avtivePart.Update
Else
Set hybridBody1 = Selection1.Item(1).Value
Set hybridShapes1 = hybridBody1.HybridShapes
End If
Set hybBods(0) = hybridBody1

Set hybridBodies2 = hybridBody1.HybridBodies

Selection1.Clear
On Error Resume Next 'weist Makro an, einen Laufzeitfehler zu überspringen und zur
'nächsten Anweisung zu springen___gilt nur für jeweilige Funktion oder Unterroutine!
Selection1.Add hybridBodies2.Item("Extracts")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody2 = hybridBodies2.Add()
hybridBody2.Name = "Extracts" 'Surface, Boundary, Startpoint
Set hybridShapes2 = hybridBody1.HybridShapes
Selection1.Clear
activePart.Update
Else
Set hybridBody1 = Selection1.Item(1).Value
Set hybridShapes2 = hybridBody1.HybridShapes
End If
Set hybBods(1) = hybridBody2

Selection1.Clear
On Error Resume Next
Selection1.Add hybridBodies2.Item("New_Rosette")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody3 = hybridBodies2.Add()
hybridBody3.Name = "New_Rosette"
Set hybridShapes3 = hybridBody3.HybridShapes
Selection1.Clear
activePart.Update
Else
Set hybridBody3 = Selection1.Item(1).Value
Set hybridShapes3 = hybridBody3.HybridShapes
End If
Set hybBods(2) = hybridBody3

Selection1.Clear
On Error Resume Next
Selection1.Add hybridBodies2.Item("Support_Geometry")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody4 = hybridBodies2.Add()
hybridBody4.Name = "Support_Geometry"
Set hybridShapes4 = hybridBody4.HybridShapes
Selection1.Clear
activePart.Update
Else
Set hybridBody4 = Selection1.Item(1).Value
Set hybridShapes4 = hybridBody4.HybridShapes
End If
Set hybBods(3) = hybridBody4

Selection1.Clear
On Error Resume Next
Selection1.Add hybridBodies2.Item("nicht_benannt")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody5 = hybridBodies2.Add()
hybridBody5.Name = "nicht_benannt"
Set hybridShapes5 = hybridBody5.HybridShapes
Selection1.Clear
activePart.Update
Else
Set hybridBody5 = Selection1.Item(1).Value
Set hybridShapes5 = hybridBody5.HybridShapes
End If
Set hybBods(4) = hybridBody5

Selection1.Clear
On Error Resume Next
Selection1.Add hybridBodies2.Item("Courses")
If Err.Number <> 0 Then
Err.Clear
Set hybridBody6 = hybridBodies2.Add()
hybridBody6.Name = "Courses"
Set hybridShapes6 = hybridBody6.HybridShapes
Selection1.Clear
activePart.Update
Else
Set hybridBody6 = Selection1.Item(1).Value
Set hybridShapes6 = hybridBody6.HybridShapes
End If
Set hybBods(5) = hybridBody6

activePart.Update

'-----------------------------
'Extracting the required geometry
'-----------------------------

'Extracting the selected surface, boundary, intial course and startpoint into the corresponding GeoSets.
'For looping through the inputs create arrays

'Extract of the support Surface
Set hybridShapeExtract1 = hybridShapeFactory1.AddNewExtract(inputs(1))
hybridShapeExtract1.Name = "Surface"
hybridShapeExtract1.PropagationType = 1
hybridShapeExtract1.ComplementaryExtract = False
hybridShapeExtract1.IsFederated = False
hybridBody2.AppendHybridShape hybridShapeExtract1
Set reference1 = activePart.CreateReferenceFromObject(hybridShapeExtract1)

'Extract of the Boundary
Set hybridShapeExtract2 = hybridShapeFactory1.AddNewExtract(inputs(2))
hybridShapeExtract2.Name = "Boundary"
hybridShapeExtract2.PropagationType = 1
hybridShapeExtract2.ComplementaryExtract = False
hybridShapeExtract2.IsFederated = False
hybridBody2.AppendHybridShape hybridShapeExtract2
Set reference2 = activePart.CreateReferenceFromObject(hybridShapeExtract2)

'Extract of the Startpoint
'Set hybridShapeExtract3 = hybridShapeFactory1.AddNewExtract(inputs(4))
' hybridShapeExtract3.Name = "Startpoint"
' hybridShapeExtract3.PropagationType = 1
' hybridShapeExtract3.ComplementaryExtract = False
' hybridShapeExtract3.IsFederated = False
' hybridBody2.AppendHybridShape hybridShapeExtract3
' Set reference3 = activePart.CreateReferenceFromObject(hybridShapeExtract3)

'Startpoint Copy as Result
Selection1.Clear
Selection1.Add inputs(4) 'Punkt anwählen
Selection1.Copy 'Kopieren von angewähtem Punkt
Selection1.Clear
Selection1.Add hybridBodies2.Item("Extracts") 'Ziel anwählen
Selection1.PasteSpecial("CATPrtResultWithOutLink")
hybridBody2.HybridShapes.Item(3).Name = "Startpoint"
Set reference3 = activePart.CreateReferenceFromObject(hybridBody2.HybridShapes.Item(3))
Selection1.Clear
activePart.Update

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Creation of the NewRosette ++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

'Creation of a dummy curve for startpoint on curve
Set hybridShapeLineNormal1 = hybridShapeFactory1.AddNewLineNormal(reference1, reference3, 50.000000, 0.000000, False)
hybridShapeLineNormal1.Name = "Dummy"
hybridBody3.AppendHybridShape hybridShapeLineNormal1
Set dummy = activePart.CreateReferenceFromObject(hybridShapeLineNormal1)

'NewRosette start point
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromPercent(dummy, 0.000000, False)
hybridShapePointOnCurve1.Name = "StartPoint"
hybridBody3.AppendHybridShape hybridShapePointOnCurve1
Set StartPoint =  activePart.CreateReferenceFromObject(hybridShapePointOnCurve1)

'Plane tangent to surface by startPoint
Set hybridShapePlaneTangent1 = hybridShapeFactory1.AddNewPlaneTangent(reference1, StartPoint)
hybridBody3.AppendHybridShape hybridShapePlaneTangent1
Set reference4 = activePart.CreateReferenceFromObject(hybridShapePlaneTangent1)

'tangentiale Linie by 0°Referenz-Richtung refDir and startpoint and tangent plane from above
Set hybridShapeLineTangency1 = hybridShapeFactory1.AddNewLineTangencyOnSupport(inputs(3), StartPoint, reference4, 200.000000, 0.000000, False)
hybridBody3.AppendHybridShape hybridShapeLineTangency1
Set reference5= activePart.CreateReferenceFromObject(hybridShapeLineTangency1)

'line normal to surface with ref1, startpoint
Set hybridShapeLineNormal2 = hybridShapeFactory1.AddNewLineNormal(reference4, StartPoint, 200.000000, 0.000000, True)
hybridBody3.AppendHybridShape hybridShapeLineNormal2
Set reference6= activePart.CreateReferenceFromObject(hybridShapeLineNormal2)

'0°Richtung_plane through two lines from 2 and 3
Set hybridShapePlane2Lines1 = hybridShapeFactory1.AddNewPlane2Lines(reference5, reference6)
hybridBody3.AppendHybridShape hybridShapePlane2Lines1
Set reference7 = activePart.CreateReferenceFromObject(hybridShapePlane2Lines1)

'Legerichtung_lay-up directionplane by angle/normal to plane
Set hybridShapePlaneAngle1 = hybridShapeFactory1.AddNewPlaneAngle(reference7, reference6, -1*layupDir, False)
hybridBody3.AppendHybridShape hybridShapePlaneAngle1
Set reference8 = activePart.CreateReferenceFromObject(hybridShapePlaneAngle1)

'Ebene 90° quer zur Legerichtung
Set hybridShapePlaneAngle2 = hybridShapeFactory1.AddNewPlaneAngle(reference8, reference6, 90.000000, False)
hybridShapePlaneAngle2.ProjectionMode = False
hybridBody3.AppendHybridShape hybridShapePlaneAngle2
Set reference9 = activePart.CreateReferenceFromObject(hybridShapePlaneAngle2)

'Intersection 0°direction_NewRosette
Set hybridShapeIntersection1 = hybridShapeFactory1.AddNewIntersection(reference7, reference1)
hybridShapeIntersection1.PointType = 0
hybridBody3.AppendHybridShape hybridShapeIntersection1
Set reference10 = activePart.CreateReferenceFromObject(hybridShapeIntersection1)

'Intersection perpendicular to the layup direction; needed for startpoints
Set hybridShapeIntersection2 = hybridShapeFactory1.AddNewIntersection(reference9, reference1)
hybridShapeIntersection2.Name = "Curve_Startpoints"
hybridShapeIntersection2.PointType = 0
hybridBody3.AppendHybridShape hybridShapeIntersection2
Set reference11 = activePart.CreateReferenceFromObject(hybridShapeIntersection2)

'Linie, die den Kurs schrittweise aufbaut___je kleiner sie ist, desto genauer die Kurserstellung, aber auch zeitintensiv
Set hybridShapeDirection1 = hybridShapeFactory1.AddNewDirection(reference9)
Set hybridShapeLinePtDir1 = hybridShapeFactory1.AddNewLinePtDirOnSupport(StartPoint, hybridShapeDirection1, reference1, 100.000000, 0.000000, False)
hybridShapeLinePtDir1.Name = "Accuracy"
hybridBody3.AppendHybridShape hybridShapeLinePtDir1
Set reference12 = activePart.CreateReferenceFromObject(hybridShapeLinePtDir1)

activePart.Update

'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
'Creation of the courses++++++++++++++++++++++++++++++++++++++++++++++++++
'+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
''''''''''Hier hörts bei mir auf!!!

'CATPrtResultWithOutLink Accuracy line
Selection1.Clear
Selection1.Add "Name=Accuracy"
Selection1.Copy
Selection1.Clear
Selection1.Add hybridBodies2.Item("Support_Geometry") 'target geoSet
Selection1.PasteSpecial("CATPrtResultWithOutLink")

hybridBody4 = hybridBodies2.GetItem("Accuracy")

'Put NewRosette start point at the end of the copyresult line
Set hybridShapePointOnCurve1 = hybridShapeFactory1.AddNewPointOnCurveFromPercent(reference12, 1.000000, False)
hybridShapePointOnCurve1.Name = "StartPoint"
hybridBody4.AppendHybridShape hybridShapePointOnCurve1
'Set StartPoint =  activePart.CreateReferenceFromObject(hybridShapePointOnCurve1)

activePart.Update

Exit Sub
End Sub


Vielleicht hat jemand en Rat für mich. Könnte es aber verstehen, wenn das zu viel Aufwand bedeutet. Naja, trotzdem danke fürs Lesen.  

Grüße Schmado

[Diese Nachricht wurde von Schmado am 11. Nov. 2014 editiert.]

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

joehz
Moderator
Freiberuflicher Konstrukteur


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

Beiträge: 1057
Registriert: 25.11.2006

Win7 Pro 64 + Ubuntu + Irix6.5.20
Dell Precision M6600 i7-2960XM 2.7GHz 16GB
NVidia Quadro M5010
Catia V5R19
VB6Pro.SP6/VBA 6.5.1053

erstellt am: 11. Nov. 2014 12:44    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 Schmado 10 Unities + Antwort hilfreich

Hallo Schmado,

was bei deiner Mail sofort auffällt ist das nichtssagende Thema.
Gut wäre, anstatt 'HILFE!!!!!!', eine Überschrift, die das Problem eingrenzt.

Weiterhin: Mir scheint, Du programmierst mit dem Macro-Editor.
Der ist zwar für Q&D-Jobs(quick and dirty) geeignet, aber bei einem derart umfangreichen Projekt,
würde ich mit dem von Catia zur Verfügung gestellten VBA-Editor arbeiten.

Grund: Lesbarkeit und Übersicht(Formatierung, Farbe, Watch-Fenster, etc. ...).
Deine anfangs abgefragten Eingaben würden sich auch zusammen in einer Form eintragen lassen.
Dann hättest alles beieinander.

Zum Thema Lesbarkeit:
Ich hab Deine Mail erstmal auf dem Handy angeschaut - und gleich wieder weg.
Ohne Einrückungen, Absätze und (zeilenweise) Kommentare, ist das Skript erst nach längerem Studium zu verstehen.
Die Zeit nimmt sich keiner.

Ausserdem:
Links neben dem Editierfenster (in CAD.de) befindet sich ein Hot-Link 'Code'. Verwende ihn.

Zu Deinem Makro:
Ich hab keinen blassen Schimmer, was Du vorhast.
Mit Makros kannst Du vieles - aber nicht alles - nachbilden, was Du sonst interaktiv machen würdest.

Lässt sich diese Kurserzeugung(was immer das ist) interaktiv bewerkstelligen?

Und zum Schluss:
Was heisst hier versagen. Bei einem Problem nicht sofort die Lösung zu finden, ist kein Versagen.

Deine Arbeitsumgebung ins Profil einzutragen, wäre auch hilfreich.

Tschau,
Joe

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: 11. Nov. 2014 13:12    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 Schmado 10 Unities + Antwort hilfreich

Servus
Ich hab zwar noch nicht ganz verstanden, was der Code machen soll, hab aber einen kleinen Hinweis dazu.
Vorsicht bei Abschalten der Fehlerbehandlung. IMHO sollte die Fehlerbehandlung nur kurzfristig ausgeschaltet werden, dann der Fehler ausgewertet werden, der Fehler "korrigiert" werden und die Fehlerbehandlung wieder eingeschaltet werden (das fehlt bei dir).
Beispiel:
Code:
On Error Resume Next 'Fehlerbehandlung ausschalten
  'Code der eventuell einen Fehler ausgibt
On error goto 0 'Fehlerbehandlung einschalten

If Err.Number <> 0 Then 'Fehlerbehandlung
  Err.Clear
end if


Gruß
Bernd

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

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: 11. Nov. 2014 17:41    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 Schmado 10 Unities + Antwort hilfreich

Servus Schamdo
Kannst du mal beschreiben (oder auch Bild posten) was mit dem Makro erzeugt werden soll?
(was sind nach deinem Begriff Kurse?)

Gruß
Bernd

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

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

Schmado
Mitglied
Maschinenbaustudent

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

Beiträge: 4
Registriert: 30.12.2013

CATIA V5R21

erstellt am: 11. Nov. 2014 20: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


1.png


2.png


3.png

 
Ich habs mal mit Screeshots versucht...weitere Posts beachten bitte. Bild 1 bis 8 grenzen mein Problem ein.

Gruß Schmado

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

Schmado
Mitglied
Maschinenbaustudent

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

Beiträge: 4
Registriert: 30.12.2013

CATIA V5R21

erstellt am: 11. Nov. 2014 20: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

Schmado
Mitglied
Maschinenbaustudent

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

Beiträge: 4
Registriert: 30.12.2013

CATIA V5R21

erstellt am: 11. Nov. 2014 20: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


7.png


8.png

 
So und hier der letzte Teil. Ich hoffe, die Screenshots sind gut genug beschrieben. Aus diesen toten Kurven wird schrittweise der "Kurs" auf der Fläche aufgebaut. Die toten Kurven werden anschließend durch das Feature "Zusammenfügen" oder "Join" zu einer Kurve vereint.

Ich hoffe, mein Problem ist deutlicher eingegrenzt-Danke für eure Hilfe!
EInen schönen Abend wünsch ich.

Gruß Schmado

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: 11. Nov. 2014 20:18    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 Schmado 10 Unities + Antwort hilfreich

Servus
Ich weiß zwar immer noch nicht was dein Makro genau machen soll (ggf gibt es da eine einfachere Lösung).
AFAIR kann man über die Funktionen "AddNewPointDatum" bzw "AddNewLineDatum" isolierte Punkte bzw Linien erzeugen.
Dann kannst dir das kopieren und wieder einfügen sparen

Gruß
Bernd

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

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

Thomas Harmening
Ehrenmitglied V.I.P. h.c.
Arbeiter ツ



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

Beiträge: 2897
Registriert: 06.07.2001

NX 10
Win 7

erstellt am: 11. Nov. 2014 22:32    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 Schmado 10 Unities + Antwort hilfreich

?
Da immer die selbe Funktion angewandt wird, deren Ergebnis dann isoliert sein soll.

- ich würde da ein PC copy verwenden - und am Ende dann die Kurven isolieren
- oder gleich die Kurve um den Faktor länger machen die der Teilkurven anzahl entspricht und dann eine Punktverteilung drauf machen und trennen

- aber der Sinn des Ganzen ist mir noch nicht klar...

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