Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Kante selektieren-aber wie damit weiterarbeiten

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:  Kante selektieren-aber wie damit weiterarbeiten (1475 mal gelesen)
Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 13. Sep. 2006 23: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

Ich mal wieder;-)

Also, ich habe ein Makro erstellt, was ich nun leider nur unter Part läuffähig bekomme,aber das ist erstmal egal!

Ich versuche innerhalb des Makros ein Kante eines Volumenteils in mehrere Punkte zu unterteilen. Also Punkte auf der Kante zu erzeugen!
Für das Ganze Makro ist bislang nötig vorerst ein KAnte zu Pojezieren und eine Referenzebene auf der Oberfläche zu erstellen-damit jedoch läuft das Makro wunderbar!

Nun versuche ich die beiden Schritte irgendwie zu überspringen! Es soll nun also direkt die Kante wärend laufendem Makro selektiert werden und später die Oberfläche als Referenzebene!
Die Selektion klappt seit ich
____________

Was(0)="Edge" bzw Was(0)="Face" anstatt Was(0) = "HybridShape"
___________

gesetzt habe! Nun bekomme ich fehlermeldungen beim erstellen der Reference:
______________

Dim Ref as Reference
Set Ref = part1.CreateReferenceFromObject(UserSel.Item(1).Value)
_______________

Also habe ich versucht das mit
________________

  Set Ref = part1.CreateReferenceFromName(UserSel.Item(1).Value.Name)
________________

zu lösen! Konsequenz: Er läuft über dise Zeile hinweg und bricht nun an folgender Stelle ab:
_________________

Dim punktmitte
Set punktmitte = hybridShapeFactory1.AddNewPointOnCurveFromDistance(Ref,Abstand,false)
HB.AppendHybridShape punktmitte
_________________

Damit hat er normalerweise die Punkte erstellt, geht aber nicht!
Weiß jemand warum ich nicht mit der selektierten KAnte direkt weiterarbeiten kann? Woran liegt das, an der Referenz? Was kann ich ändern? Wenn ich eine beliebige Linie oder Spline zeichne läufts ja!

Zum Punkt mit der Fläche komm ich dann später, wäre super wenn ichhier schon mal hilfe bekommen könnte

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 09: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 Sr.Herms 10 Unities + Antwort hilfreich

Hallo Sr.Herms,

Ich habe mal folgendes ausprobiert:

  sFilter(0) = "Edge"
  Call oSel.SelectElement2(sFilter, "Test", False)

'- Ref direkt aus der Selektion
  Set oRef = oSel.Item(1).Value

  Set oPoint = oHybFact.AddNewPointOnCurveFromDistance(oRef, 15, False)
  oPoint.DistanceType = 1
 
  Set oHB = oPart.Bodies.GetItem("Hauptkörper")
'- Insert anstatt Append verwenden
  Call oHB.InsertHybridShape(oPoint)
 
'- InWork zum anzeigen
  oPart.InWorkObject = oPoint
  oPart.Update

und das funktioniert bei mir.

Gruß
Proofin

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 11:00    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

Danke schon mal!

Allerdings habe ich vor vorhher noch die Länge zu messen und da bricht er nun ab:
_______________

        Dim TheSPAWorkbench As SPAWorkbench
Dim TheMeasurable As Measurable
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Ref)

Dim dLength As Double
dLength = TheMeasurable.Length

______________

Hast du dafür auch eine Lösung?

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 11: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 Nur für Sr.Herms 10 Unities + Antwort hilfreich

Ja schreib statt
  Dim TheMeasurable As Measurable
lieber
    Dim TheMeasurable

mit der Deklaration hat Catia manchmal Probleme.

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 11:16    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

Versucht aber ohne erfolg!

Versuche ja deinen Cod einzuarbeiten, vll habe ich da den fehler:
-------------
' Auswahl festlegen -----------------------------------------------
  Dim Was(1)
  Was(0) = "HybridShape"
  Was(1) = "Edge"

' Selektion definieren und leeren ---------------------------------
  Dim UserSel
  Set UserSel= CATIA.ActiveDocument.Selection
  UserSel.Clear

' Selektion Kante vornehmen lassen --------------------------------------
  Call UserSel.SelectElement2(Was, "Bitte Linie auswählen!", false)

  Dim Ref
  Set Ref = UserSel.Item(1).value

' Länge auslesen---------- --------------------------------------
Dim TheSPAWorkbench
Dim TheMeasurable
Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Ref)

Dim dLength As Double
dLength = TheMeasurable.Length
--------------------

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 11:31    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 Sr.Herms 10 Unities + Antwort hilfreich

Ich sehe keinen Unterschied zu meinem Code:

  Dim SpaWB 'As SPAWorkbench
  Dim Meas 'As Measurable
 
  Call oSel.Clear
  sFilter(0) = "Edge"
  Call oSel.SelectElement2(sFilter, "Test", False)
  Set oRef = oSel.Item(1).Value
 
  Set SpaWB = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set Meas = SpaWB.GetMeasurable(oRef)
  dLen = Meas.Length

und bei mir funktioniert soweit alles.

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

el_zetto
Mitglied
tech. zeichner / student

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

Beiträge: 2
Registriert: 10.06.2004

erstellt am: 14. Sep. 2006 11:31    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 Sr.Herms 10 Unities + Antwort hilfreich

Hi Sr.Herms!
Also an dem Code zur Linienmessung scheint es nicht zu liegen. Der läuft bei mir problemlos. Wird wahrscheinlich an der Kombination mit dem Code drumherum liegen.
Ich habe mal die Erfahrung machen müssen, dass eine nicht geleerte Selection bei einem weiteren Bearbeitungsversuch zum Ausstieg geführt hat (nur eine Selection pro Dokument und vor neuem Befüllen leeren).

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 12: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

EDIT: aktueller Code siehe unten

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

das ist der code mit dem ich beim wählen einer vorher projezierten Kante und eine vorab erstellten Referenzeben arbeite! Das soll nun einfach über auswählen der Kante und der Fläche funktionieren!

Ich weiß das man viel dinge bestimmt einfacher lösen kann,aber das ganze ist meine erste makro erfahrung und dafür bin ich schon begeistert das es funktioniert

[Diese Nachricht wurde von Sr.Herms am 14. Sep. 2006 editiert.]

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 13:20    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 Sr.Herms 10 Unities + Antwort hilfreich

Ich habe deinen Code mal bei mir ausprobiert und etwas verändert:
was du nicht machen solltes ist 2 Selektion anlegen, immer nur eine und diese immer wieder leeren.

Ich persönlich würde in einer Schleife keine Variablen deklarieren, immer vor der Schleife.

  Sub CATMain()

  Dim partDocument1 As Document
  Set partDocument1 = CATIA.ActiveDocument

  Dim part1 As Part
  Set part1 = partDocument1.Part

  Dim hybridShapeFactory1 As Factory
  Set hybridShapeFactory1 = part1.HybridShapeFactory

  Dim HB As HybridBody
  Set HB = part1.HybridBodies.Item(1)

' Auswahl festlegen -----------------------------------------------
  Dim Was(0)
  Was(0) = "Edge"

' Selektion definieren und leeren ---------------------------------
  Dim UserSel 'As Selection
  Set UserSel = CATIA.ActiveDocument.Selection
  UserSel.Clear

' Selektion Kante vornehmen lassen --------------------------------------
  Dim E 'As CATBSTR
  E = UserSel.SelectElement2(Was, "Bitte Linie auswählen!", True)


  If E = "Normal" Then
    'MsgBox(UserSel.Item(1).Value.Name & " wurde ausgewählt!") '--------------------------------Anzeige der Selektion
  Else
      MsgBox ("Abbruch")
  Exit Sub
  End If

  Dim Ref As Reference
  'Set Ref = part1.CreateReferenceFromObject(UserSel.Item(1).Value)
  Set Ref = UserSel.Item(1).Value

  ' Länge auslesen---------- --------------------------------------
  Dim TheSPAWorkbench As SPAWorkbench
  Dim TheMeasurable As Measurable
  Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Ref)
 
  Dim dLength As Double
  dLength = TheMeasurable.Length
 
  'msgbox ("Die Länge der gewählten Kante beträgt " & dLength & "mm") '----------------------------------------------------------------------------------------Anzeige der Länge
 
 
  ' Abstand und Anzahl bestimmen----------------------------------
  Dim Abstand
  Abstand = 2
 
  'Abstand = inputbox("Bitte Abstand der Kreise eingeben!") '--------------------------------Abfrage für manuelle Eingabe des Abstandes
 
  Dim Anzahl, Anzahl2
  ' Double Zahl wird auf Int runter gebruchen
  Anzahl = Int(div(dLength, Abstand))
 
  'Anzahl2 = Round(Anzahl, 0)
  'msgbox ("Es werden " & Anzahl2 & " Punkte erzeugt"  &Chr (13) &Chr(10) &Chr (13) &Chr(10) &"Im nächsten Schritt bitte die Referencebene wähle"  &Chr (13) &Chr(10) &"in der die Schweissnaht erstellt werden soll")
 
 
  ' Selektion Fläche definieren und leeren ---------------------------------
  ' !!!
  ' Auf jeden Fall vermeiden -> Nur eine Selektion pro Makro!!!
  ' !!!
 
    'Dim UserSel2 As Selection
    'Set UserSel2 = CATIA.ActiveDocument.Selection
    UserSel.Clear
    Was(0) = "Face"
   
  ' Selektion vornehmen lassen --------------------------------------
    Dim F 'As CATBSTR
    F = UserSel.SelectElement2(Was, "Bitte Fläche auswählen!", True)
  Dim Ref2 As Reference
  'Set Ref2 = part1.CreateReferenceFromObject(UserSel2.Item(1).Value)
  Set Ref2 = UserSel.Item(1).Value
 
  ' Selektion freigeben --------------------------------------------
  '  UserSel.EndSelectElement2
    UserSel.Clear
  '  UserSel2.EndSelectElement
  '  UserSel2.Clear
 
  ' Radius---------------------------------------------------------
 
  Dim radius As Integer
  radius = 2
 
  ' Punkte erzeugen --------------------------------------------
 
 
'  Dim Abstand2 As Integer
'  Abstand2 = Abstand
'  Abstand = 0
 
  Dim Z As Integer
  Dim Kreis
  Dim punktmitte
  Dim senkrechte As HybridShapeLineAngle
 
  ' Wichtig keine Dim in einer Schleife
  For Z = 1 To Anzahl - 1 Step 1 ' Step kann man schreiben bei 1 ist es nicht notwendig da Standard
   
    Set punktmitte = hybridShapeFactory1.AddNewPointOnCurveFromDistance(Ref, Abstand * Z, False) ' Invertieren mittel Schalter true/false
   
    HB.AppendHybridShape punktmitte
   
    'Ausrichtung erzeugen------------------------------------------
     
    Set senkrechte = hybridShapeFactory1.AddNewLineAngle(Ref, Ref2, punktmitte, True, radius, -radius, 90, 1)
    HB.AppendHybridShape senkrechte
   
    'startpunkt erzeugen------------------------------------------
    Set startpunkt = hybridShapeFactory1.AddNewPointOnCurveFromPercent(senkrechte, 0#, False)
    HB.AppendHybridShape startpunkt
   
    'endpunkt erzeugen------------------------------------------
   
    Set endpunkt = hybridShapeFactory1.AddNewPointOnCurveFromPercent(senkrechte, 0#, True)
    HB.AppendHybridShape endpunkt
   
   
    'Kreise erzeugen----------------------------------------------
     
    Set Kreis = hybridShapeFactory1.AddNewCircle2PointsRad(startpunkt, endpunkt, Ref2, True, radius, 1)
    HB.AppendHybridShape Kreis
   
   
    Abstand = Abstand + Abstand2
    part1.Update
  Next
 
 
  part1.Update


End Sub

Function div(I, II) As Integer
  div = I / II
End Function


Läuft bei mir durch und erstellt die Kreise. Ich habe die Punkte und Linie auch anlegen lassen, kannst ja wieder auskommentieren.

Was mir aufgefallen ist, das der Endpunkt deiner Line der gleiche Punkt ist wie dein Mittelpunkt. Ist das so gewollt??

[Diese Nachricht wurde von Proofin am 14. Sep. 2006 editiert.]

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 13:40    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

Erstmal Dake das du dir die ganze mühe gemacht hast!

Bei mir bricht der immer noch bei der Längenberechnung ab, ich weiß nicht warum!!!!!!

Zum Endpunkt! Ich wollte auf der Senkrechten die beiden endpunkte habe um somit die beiden punkte für den Kreis zu bekommen! dachte ich könnte mit true oder false bestimmen, welchen endpunkt ich haben will!

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 13:45    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 Sr.Herms 10 Unities + Antwort hilfreich

Mit welchem Catia Release arbeites du eigentlich?

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 13: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

müsste V15 R14 mit SP4 sein

Konnte mit deinem Code schon mal was anpassen! und zwar hat er bei einem Bauteil zwar die oberfläche gewählt, aber die halbkreise bei der Kante bei mir abgebrochen,sprich die kreise waren nur auf der oberfläche des bauteils und nicht darüber hinweg!
Habe eine ReferenceEbene durch das makro erstellen lassen und diese dann genutzt, jetzt gehts so wie ich das haben will, dank deiner vorarbeit!

wenn ich jetzt noch das problem mit der Längenmessung in den griff bekomme, dann bin ich fertig! hoffe Dir oder jemandem anderen fällt noch was ein:-)

hier deer aktuelle Code:
  Sub CATMain()

  Dim partDocument1 As Document
  Set partDocument1 = CATIA.ActiveDocument

  Dim part1 As Part
  Set part1 = partDocument1.Part

  Dim hybridShapeFactory1 As Factory
  Set hybridShapeFactory1 = part1.HybridShapeFactory

  Dim HB As HybridBody
  Set HB = part1.HybridBodies.Item(1)

' Auswahl festlegen -----------------------------------------------
  Dim Was(1)
  Was(1) = "HybridShape"
  Was(0) = "Edge"

' Selektion definieren und leeren ---------------------------------
  Dim UserSel 'As Selection
  Set UserSel = CATIA.ActiveDocument.Selection
  UserSel.Clear

' Selektion Kante vornehmen lassen --------------------------------------
  Dim E 'As CATBSTR
  E = UserSel.SelectElement2(Was, "Bitte Linie auswählen!", True)


  If E = "Normal" Then
    'MsgBox(UserSel.Item(1).Value.Name & " wurde ausgewählt!") '--------------------------------Anzeige der Selektion
  Else
      MsgBox ("Abbruch")
  Exit Sub
  End If

  Dim Ref As Reference
  Set Ref = UserSel.Item(1).Value

  ' Länge auslesen---------- --------------------------------------
  Dim TheSPAWorkbench As SPAWorkbench
  Dim TheMeasurable
  Set TheSPAWorkbench = CATIA.ActiveDocument.GetWorkbench("SPAWorkbench")
  Set TheMeasurable = TheSPAWorkbench.GetMeasurable(Ref)

  Dim dLength As Double
  dLength = TheMeasurable.Length

  'msgbox ("Die Länge der gewählten Kante beträgt " & dLength & "mm") '----------------------------------------------------------------------------------------Anzeige der Länge


  ' Abstand und Anzahl bestimmen----------------------------------
  Dim Abstand
  Abstand = 2

  'Abstand = inputbox("Bitte Abstand der Kreise eingeben!") '--------------------------------Abfrage für manuelle Eingabe des Abstandes

  Dim Anzahl, Anzahl2
  ' Double Zahl wird auf Int runter gebruchen
  Anzahl = Int(div(dLength, Abstand))

  'msgbox ("Es werden " & Anzahl2 & " Punkte erzeugt"  &Chr (13) &Chr(10) &Chr (13) &Chr(10) &"Im nächsten Schritt bitte die Referencebene wähle"  &Chr (13) &Chr(10) &"in der die Schweissnaht erstellt werden soll")



    'Dim UserSel2 As Selection
    UserSel.Clear
    Was(0) = "Face"
 
  ' Selektion vornehmen lassen --------------------------------------
    Dim F 'As CATBSTR
    F = UserSel.SelectElement2(Was, "Bitte Fläche auswählen!", True)

  ' Referenzfläche erstellen --------------------------------------   
    Dim Ref1,Ref2  As Reference
    Set Ref2 = hybridShapeFactory1.AddNewPlaneOffset(UserSel.Item(1).Value, 0.000000, True)
 
  ' Selektion freigeben --------------------------------------------
    UserSel.Clear


  ' Radius---------------------------------------------------------

  Dim radius As Integer
  radius = 2

  ' Punkte erzeugen --------------------------------------------
 
  Dim Z As Integer
  Dim Kreis
  Dim punktmitte
  Dim senkrechte As HybridShapeLineAngle

  For Z = 1 To Anzahl - 1 Step 1 ' Step kann man schreiben bei 1 ist es nicht notwendig da Standard
 
    Set punktmitte = hybridShapeFactory1.AddNewPointOnCurveFromDistance(Ref, Abstand * Z, False) ' Invertieren mittel Schalter true/false
    'HB.AppendHybridShape punktmitte
 
    'Ausrichtung erzeugen------------------------------------------
   
    Set senkrechte = hybridShapeFactory1.AddNewLineAngle(Ref, Ref2, punktmitte, True, radius, -radius, 90, 1)
    'HB.AppendHybridShape senkrechte
 
    'startpunkt erzeugen------------------------------------------
    Set startpunkt = hybridShapeFactory1.AddNewPointOnCurveFromPercent(senkrechte, 0, False)
    'HB.AppendHybridShape startpunkt
 
    'endpunkt erzeugen------------------------------------------
 
    Set endpunkt = hybridShapeFactory1.AddNewPointOnCurveFromPercent(senkrechte, 0, True)
    'HB.AppendHybridShape endpunkt
 
 
    'Kreise erzeugen----------------------------------------------
   
    Set Kreis = hybridShapeFactory1.AddNewCircle2PointsRad(startpunkt, endpunkt, Ref2, True, radius, 1)
    HB.AppendHybridShape Kreis
 
 
    Abstand = Abstand + Abstand2
   
  Next

  part1.Update
  part1.Update


End Sub

Function div(I, II) As Integer
  div = I / II
End Function

[Diese Nachricht wurde von Sr.Herms am 14. Sep. 2006 editiert.]

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 14: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 Nur für Sr.Herms 10 Unities + Antwort hilfreich

Bei welcher Längenberechnung??
  dLength = TheMeasurable.Length
oder bei
  Anzahl = Int(div(dLength, Abstand))

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 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

bei:
dLength = TheMeasurable.Length

mit der Beschreibung in der Fehlermeldung:

Das Verfahren Length ist Fehlgeschlagen

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 14: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 Sr.Herms 10 Unities + Antwort hilfreich

Was für eine Kante hast selektiert? Weil in deiner Version steht noch HybridShape als Filter für die Selektion drin!

Kannst du das Part mal anhängen, wenn es nicht zu groß ist?

[Diese Nachricht wurde von Proofin am 14. Sep. 2006 editiert.]

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 14: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

Das mit dem Filter habe ich nur gemacht falls man das nicht auf der ganze kante anwenden will sonder evtl doch ein teil nachzeichnet oder sowas!

hast du ne mailadresse oder so? dann schick ich dir das, oder ist dir lieber das hier zu machen, kann ich auch verstehen

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 14:27    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 Sr.Herms 10 Unities + Antwort hilfreich

Du kannst es auch an meine E-Mail Adresse schicken:

[Diese Nachricht wurde von Proofin am 14. Sep. 2006 editiert.]

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 14: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

ist unterwegs! kannst deine mailadress wieder rausnehmen, wenn du sie nicht so öffentlich hier stehen haben willst;-) dank dir

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 14. Sep. 2006 14:40    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 Sr.Herms 10 Unities + Antwort hilfreich

Kein Problem gibt es eine Zeitliche Beschränkung bis wann du es zum laufen bringen muß?
Da ich im Moment mit R16 arbeite,kann ich es in den nächsten Tagen auch auf einem anderen Rechner mit R14 aus probieren.

Was vieleicht noch wichtig wär als was soll das ganze laufen Skript, VB, VBA?

[Diese Nachricht wurde von Proofin am 14. Sep. 2006 editiert.]

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

Sr.Herms
Mitglied



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

Beiträge: 23
Registriert: 31.08.2006

erstellt am: 14. Sep. 2006 14:51    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

eigentlich nicht!habe so oder so vor erst in ca 1,5wochen fortschritte zu präsentieren! muß eh noch ne menge anderer ding machen und hatte extra mehr zeit eingeplant!
bin ja froh wenn mir geholfen wird! Dank dir auf jedenfall für alles bislang! wenn du noch nen vorschlag bezüglich product->part hast, was ich in der mail beschrieben habe und du unglaublich viel lust darauf hast, lass dich nicht aufhalten;-)

VB oder VBA???? da fragst mich was-hauptsache läuft,sagen wir so;-)

[Diese Nachricht wurde von Sr.Herms am 14. Sep. 2006 editiert.]

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

Proofin
Mitglied
Dpl.Ing


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

Beiträge: 208
Registriert: 24.11.2004

erstellt am: 18. Sep. 2006 10: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 Sr.Herms 10 Unities + Antwort hilfreich

Hi,

ich hab die mal was zu geschickt!

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