Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  [API] Prüfen ob Skizzen-Elemente innerhalb von Fläche sind

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
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS
  
Technikerschüler der staatlichen Feintechnikschule Schwenningen zu Besuch bei SolidCAM GmbH in Schramberg
Autor Thema:  [API] Prüfen ob Skizzen-Elemente innerhalb von Fläche sind (904 mal gelesen)
Dingeling
Mitglied


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

Beiträge: 9
Registriert: 27.04.2009

erstellt am: 24. Jun. 2015 15: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

Hallo zusammen,
ich möchte ein Makro schreiben in dem geprüft wird ob sich sämtliche Elemente einer Skizze innerhalb der Fläche befinden, auf der die Skizze erstellt wurde. Elemente die nicht auf der Fläche sind, sollen gelöscht werden.
Nun ist meine Frage, ob's in der API schon irgendwelche einfachen Funktionen gibt oder ob vielleicht schon jemand etwas ähnliches gemacht hat und mir zur Verfügung stellen kann, bevor ich mir da jetzt irgendwas zusammenbastel mit Vektorberechnungen und endlos vielen Loops und so 

Danke schonmal!

Gruß
Dingeling

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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 26. Jun. 2015 11:55    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 Dingeling 10 Unities + Antwort hilfreich

Hallo Dingeling,

ich kenne keine solche Funktionen innerhalb der API und habe auch selbst keine Idee, ob es dafür irgendwo vorhandenen Code gibt. Ich tue mich sogar schwer mit der Vorstellung, wozu man so etwas brauchen sollte ...

Ich befürchte, da wirst du um viel Rechnerei nicht drumherumkommen, ich stell mir das recht anspruchsvoll vor, da du an alles Mögliche denken musst, was der Anwender so anstellen kann und was erlaubt sein soll und was nicht (nur als Beispiel: wenn ich ein Skizzenmuster mach, die Quelle außerhalb, die Muster aber innerhalb der Fläche ist, ist dass dann okay oder nicht?)

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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

Dingeling
Mitglied


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

Beiträge: 9
Registriert: 27.04.2009

erstellt am: 26. Jun. 2015 15: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

Hallo,

habe inzwischen eine relativ einfache Lösung gefunden die für meien Zwecke wunderbar ausreicht. Hier mal ohne viel Erklärung mein Code...falls es jemanden interessiert oder Fragen hat kann ich gern noch was dazu erklären.

Code:
Sub Main()
    Dim swApp          As SldWorks.SldWorks
    Dim swModel        As SldWorks.ModelDoc2
    Dim swSketch        As SldWorks.Sketch
    Dim swSketchMgr    As SldWorks.SketchManager
    Dim swFace          As SldWorks.Face2
    Dim Measure        As Measure
   
    Dim pEntity        As SldWorks.Entity
    Dim nEntType        As Long
   
    Dim vSegments      As Variant
    Dim vSeg            As Variant
   
    Set swApp = Application.SldWorks
    Set swModel = swApp.ActiveDoc
    Set swSketchMgr = swModel.SketchManager

    swModel.Extension.SelectByID2 "SKIZZENNAME", "SKETCH", 0, 0, 0, False, 0, Nothing, 0
    swSketchMgr.InsertSketch False
   
    Set swSketch = swModel.GetActiveSketch2
    vSegments = swSketch.GetSketchSegments
   
    Set pEntity = swSketch.GetReferenceEntity(nEntType)
    If nEntType = swSelFACES Then
        Set swFace = pEntity
    End If
   
    If (Not IsEmpty(vSegments)) Then
        For Each vSeg In vSegments

            swFace.Select False
            vSeg.Select True
           
            Set Measure = swModel.Extension.CreateMeasure
            Measure.ArcOption = 0
           
            If Measure.Calculate(Nothing) Then
                If Measure.IsIntersect = False Then
                    vSeg.Select False
                    swModel.Extension.DeleteSelection2 0
                End If
            End If
        Next vSeg
    End If
   
    swSketchMgr.InsertSketch True
End Sub


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

StefanBerlitz
Guter-Geist-Moderator
IT Admin (CAx)



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

Beiträge: 8756
Registriert: 02.03.2000

SunZu sagt:
Analysiere die Vorteile, die
du aus meinem Ratschlag ziehst.
Dann gliedere deine Kräfte
entsprechend und mache dir
außergewöhnliche Taktiken zunutze.

erstellt am: 29. Jun. 2015 08:19    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 Dingeling 10 Unities + Antwort hilfreich

Hallo Dingeling,

vielen Dank für den Beispielcode, das klappt hervorragend und bei weitem nicht so kompliziert, wie ich mir das vorgestellt hatte. Auf die Idee, das über das Messen zu machen, wäre ich nicht gekommen 

Ciao,
Stefan

------------------
Inoffizielle deutsche SolidWorks Hilfeseite    http://solidworks.cad.de

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)2024 CAD.de | Impressum | Datenschutz