Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  CATIA V5 Programmierung
  Punkte aus Excel in Skizze

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:  Punkte aus Excel in Skizze (2742 mal gelesen)
bronnerc
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 17
Registriert: 08.01.2008

erstellt am: 19. Okt. 2010 16:36    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

Moin zusammen.

Ich versuche aus Ecxel Punkte zu lesen und in eine Skizze einzufügen.
In 3D ist's klar, hab ich auch verstanden. Nur in eine Skizze einfügen bekomme ich nicht hin!
Irgendwie mit Factory2D, aber wie genau?? Brauche dringend Hilfe!

Bekannter Code für 3D:
Sub CATMain()
'Set CATIA = GetObject("", "CATIA.Application") ' wird nur benötigt, weil ich Excel als Entwicklungssumgebung benutze
  Dim Excel As Application
  Dim WB As Workbook
  Dim WS As Worksheet
 
  Set Excel = CreateObject("Excel.Application")      ' Excel starten
  Excel.Visible = True
  Set WB = Excel.Workbooks.Open("D:...Punkte.xls") ' Arbeitsmappe öffnen
  Set WS = WB.Worksheets.Item(1)                      ' Tabelle holen
 
  Set Part1 = CATIA.ActiveDocument.Part ' aktives part holen
  Set partDocument1 = CATIA.ActiveDocument
  Set HybShapeFac = Part1.HybridShapeFactory            'factory zu erstellen der Punkte
  Set HKoerper = CATIA.ActiveDocument.Part.HybridBodies  'hauptkörper holen zum einfügen der Punkte
  Set measurement_points = HKoerper.Add                  'Geoset einfügen
      measurement_points.Name = "Messpunkte"            'benennen
 
  nRow = 2                                                'ab Zeile 2 Zeile der Tabelle einlesen
 
  Do  'lesen bis EOF
      ' Spalte 1 = Name // Spalte 2,3,4 = Werte
    Element = (WS.Cells(nRow, 1).Value)
    XCoord = CDbl(WS.Cells(nRow, 2).Value)
    YCoord = CDbl(WS.Cells(nRow, 3).Value)
    ZCoord = CDbl(WS.Cells(nRow, 4).Value)
   
    Set hybridShapeFactory1 = Part1.HybridShapeFactory
    Set hybridShapePointCoord1 = hybridShapeFactory1.AddNewPointCoord(XCoord, YCoord, ZCoord)
    measurement_points.AppendHybridShape hybridShapePointCoord1  ' Punkt einfügen
    hybridShapePointCoord1.Name = Element                        ' Punkt benennen
        nRow = nRow + 1                                          ' Zeile hochzählen
    Loop While (WS.Cells(nRow, 2).Text <> "")                    ' Schleife verlassen, wenn Zelle leer ist
 
    Part1.Update              ' Part aktualisieren
  Excel.Quit                  ' Excel schliessen
End Sub

Was muss man ändern, damit die Punkte wie gesagt in eine Skizze eingefügt werden?
Ich weiß, 3D und dann projizieren, aber das ist ja net so schön!

Danke im Voraus! Hoffe, mir kann und will jemand helfen!

Grüße 

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

zoltan.bekesi
Mitglied



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

Beiträge: 321
Registriert: 22.10.2006

Job:
CATIA V5R19 / XP 32bit
MS Office 2003
Microstation V8 2004 Edition
DELL Precision M6300

erstellt am: 19. Okt. 2010 19: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 Nur für bronnerc 10 Unities + Antwort hilfreich

Hallo,

anbei ein Thread mit einer Lösung. Zeichnet zwar einen Spline in die Skizze aus einer Textdatei, die gesuchte Sache "Punkte in Skizze erzeugen" ist aber vorhanden.

Gruß,
Zoltan

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

bronnerc
Mitglied
Dipl.-Ing. (FH) Maschinenbau


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

Beiträge: 17
Registriert: 08.01.2008

erstellt am: 22. Okt. 2010 16:04    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, hat geklappt.
Bin leider jetzt erst wieder dazu gekommen!

Schon mal 10 U's an dich!

Aber, die nächste Frage:

Ich möchte in einer InputBox Zahlenwerte eingeben, aber nur Zahlenwerte.
Wie kann ich das korrekt in einer Do Loop Until-Schleife beschreiben??? Ich bekomme es nicht hin! 
Danke im Voraus für die Hilfe!

Gruß

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

Christian.O
Mitglied
Konstrukteur


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

Beiträge: 1212
Registriert: 17.07.2009

Celsius-Mobile H720
i7-3840QM
32 Gb Arbeitsspeicher
256 Gb SSD
Quadro K2000M
Windows 7 Professional (64 Bit)
Catia V5R19 (64 Bit)
SpacePilot Pro

erstellt am: 22. Okt. 2010 16: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 bronnerc 10 Unities + Antwort hilfreich

Servus,

ich hab das bis jetzt immer so gelöst. Es wird aber sicherlich eine einfachere Lösung dafür geben.

Code:

'***Länge in die InputBox eingeben
    strEingabe = "Länge"
    strEingabe = InputBox("Geben Sie die Länge des Bauteils ein.", "Eingabe der Bauteillänge", strEingabe)
   
    '***Eingabe in eine Zahl umwandeln
    strAusgabe = IsNumeric(strEingabe)
    If (strAusgabe = True) And (strEingabe <> "0") And Not (strEingabe = "") Then
   
        '***Eingabe in eine Positive Zahl umwandeln
        strAusgabe = Abs(strEingabe)
    ElseIf strEingabe = "" Then
        MsgBox "Diesem Button wurde kein Befehl hinterlegt." + vbNewLine + _
        "Sie gelangen wieder zur Eingabe.", vbCritical + vbOKOnly, "Kein Befehl hinterlegt"
        Do
            '***Länge in die InputBox eingeben
            strEingabe = "Länge"
            strEingabe = InputBox("Geben Sie die Länge des Bauteils ein.", "Eingabe der Bauteillänge", strEingabe)
           
            '***Eingabe in eine Zahl umwandeln
            strAusgabe = IsNumeric(strEingabe)
            If strEingabe = "" Then
                MsgBox "Diesem Button wurde kein Befehl hinterlegt." + vbNewLine + _
                "Sie gelangen wieder zur Eingabe.", vbCritical + vbOKOnly, "Kein Befehl hinterlegt"
            ElseIf (strAusgabe = True) And (strEingabe = "0") Then
                MsgBox "0 kann nicht als Eingabe verwendet werden.", vbCritical + vbOKOnly, "Falsche Eingabe"
            ElseIf (strAusgabe = False) And (strEingabe <> "0") Then
                MsgBox "Die Eingabe kann nicht verwendet werden, da es sich um keine Zahl handelt.", vbCritical + vbOKOnly, "Falsche Eingabe"
            End If
        Loop Until (strAusgabe = True) And (strEingabe <> "0") And Not (strEingabe = "")
       
        '***Eingabe in eine Positive Zahl umwandeln
        strAusgabe = Abs(strEingabe)
    ElseIf (strAusgabe = True) And (strEingabe = "0") Then
        MsgBox "0 kann nicht als Eingabe verwendet werden.", vbCritical + vbOKOnly, "Falsche Eingabe"
        Do
            '***Länge in die InputBox eingeben
            strEingabe = "Länge"
            strEingabe = InputBox("Geben Sie die Länge des Bauteils ein.", "Eingabe der Bauteillänge", strEingabe)
           
            '***Eingabe in eine Zahl umwandeln
            strAusgabe = IsNumeric(strEingabe)
            If strEingabe = "" Then
                MsgBox "Diesem Button wurde kein Befehl hinterlegt." + vbNewLine + _
                "Sie gelangen wieder zur Eingabe.", vbCritical + vbOKOnly, "Kein Befehl hinterlegt"
            ElseIf (strAusgabe = True) And (strEingabe = "0") Then
                MsgBox "0 kann nicht als Eingabe verwendet werden.", vbCritical + vbOKOnly, "Falsche Eingabe"
            ElseIf (strAusgabe = False) And (strEingabe <> "0") Then
                MsgBox "Die Eingabe kann nicht verwendet werden, da es sich um keine Zahl handelt.", vbCritical + vbOKOnly, "Falsche Eingabe"
            End If
        Loop Until (strAusgabe = True) And (strEingabe <> "0") And Not (strEingabe = "")
       
        '***Eingabe in eine Positive Zahl umwandeln
        strAusgabe = Abs(strEingabe)
    ElseIf (strAusgabe = False) And (strEingabe <> "0") Then
        MsgBox "Die Eingabe kann nicht verwendet werden, da es sich um keine Zahl handelt.", vbCritical + vbOKOnly, "Fehler"
        Do
            '***Länge in die InputBox eingeben
            strEingabe = "Breite"
            strEingabe = InputBox("Geben Sie die Länge des Bauteils ein.", "Eingabe der Bauteillänge", strEingabe)
           
            '***Eingabe in eine Zahl umwandeln
            strAusgabe = IsNumeric(strEingabe)
            If strEingabe = "" Then
                MsgBox "Diesem Button wurde kein Befehl hinterlegt." + vbNewLine + _
                "Sie gelangen wieder zur Eingabe.", vbCritical + vbOKOnly, "Kein Befehl hinterlegt"
            ElseIf (strAusgabe = True) And (strEingabe = "0") Then
                MsgBox "0 kann nicht als Eingabe verwendet werden.", vbCritical + vbOKOnly, "Falsche Eingabe"
            ElseIf (strAusgabe = False) And (strEingabe <> "0") Then
                MsgBox "Die Eingabe kann nicht verwendet werden, da es sich um keine Zahl handelt.", vbCritical + vbOKOnly, "Falsche Eingabe"
            End If
        Loop Until (strAusgabe = True) And (strEingabe <> "0") And Not (strEingabe = "")
       
        '***Eingabe in eine Positive Zahl umwandeln
        strAusgabe = Abs(strEingabe)
    End If

------------------
Mit freundlichen Grüßen aus Tirol
Christian Obholzer

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