Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Inventor
  Kettenauswahl

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 Autodesk Produkte
  
Auf dem Weg zur digitalen Auftragsmappe. (Phoenix/PDM,SOLIDWORKS,PDM System,PLM,PLM System), ein Anwenderbericht
Autor Thema:  Kettenauswahl (626 / mal gelesen)
pAtrickstAr
Mitglied
Werkzeugmechaniker

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

Beiträge: 7
Registriert: 02.05.2024

erstellt am: 08. Mai. 2024 12:08    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

Guten Tag,
vielleicht ist das ein wenig speziell.
Gibt es die Möglichkeit in einer IPT-Skizze alle zusammenhängenden Elemente auszuwählen? (Bei SolidWorks nennt sich das Kettenauswahl, RMT auf ein Skizzenelement und dann Kettenauswahl.)

Evtl. per Makro?

Das würde einiges erleichtern.

Vielen Dank im Voraus

Dennis

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2505
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 08. Mai. 2024 13: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 pAtrickstAr 10 Unities + Antwort hilfreich

Moin

Konturauswahlen sind in der Skizze eher unüblich. Was möchtest du denn im Anschluß mit der Auswahl machen? Nur so aus Neugierde.

Als VBA-Makro könnte man es so versuchen. Du kannst dir in der Skizzenumgebung noch einen Benutzerbefehl Button für das Makro erzeugen, dann kann man darüber die Auswahl starten. Ein Tastenkürzel wäre auch möglich.

Code:

Option Explicit

Public Sub ProfileSelect()

Dim oApp As Application
Set oApp = ThisApplication

Dim oPartDoc As PartDocument
Set oPartDoc = oApp.ActiveEditDocument

If Not oApp.ActiveEditObject = kPlanarSketchObject Then Exit Sub

Dim oSketch As PlanarSketch
Set oSketch = oApp.ActiveEditObject

Call oSketch.UpdateProfiles

Dim oSelSet As SelectSet
Set oSelSet = oPartDoc.SelectSet

Call oSelSet.Clear

Dim oProfile As Profile
Set oProfile = oApp.CommandManager.Pick(kSketchProfileFilter, "Profil auswählen")

Dim oProfPath As ProfilePath
Set oProfPath = oProfile.Item(1)

Dim oObjColl As ObjectCollection
Set oObjColl = oApp.TransientObjects.CreateObjectCollection

Dim oProfEnt As ProfileEntity
For Each oProfEnt In oProfPath
    Call oObjColl.Add(oProfEnt.SketchEntity)
Next

Call oSelSet.SelectMultiple(oObjColl)

End Sub


------------------
MfG
Ralf

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

pAtrickstAr
Mitglied
Werkzeugmechaniker

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

Beiträge: 7
Registriert: 02.05.2024

erstellt am: 10. Mai. 2024 07: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

Guten Morgen,
zunächst einmal vielen Dank für das Makro.
allerdings ist es nicht das was ich benötige.

Prinzipiell möchte ich in einer 2D Skizze ein Skizzenelement anklicken und durch das Makro sollen alle damit zusammenhängenden Elemente mit markiert werden.

Da ich für die Arbeit das ständig machen muss um diese Elemente z.B. in eine andere Skizze zu kopieren oder weiter zu bearbeiten , wäre das einfach eine extreme Arbeitserleichterung.


Das von Dir erstellte Makro zeigt mir nur das an was z.B. bei der Funktion Erhebung ausgewählt werden würde. Also ein geschlossenes Profil

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2505
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 10. Mai. 2024 09: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 pAtrickstAr 10 Unities + Antwort hilfreich

Moin

Geschlossene Profile sind doch zusammenhängende Skizzenlemente. Wähle ich eines aus, werden alle dazugehörenden Skizzenlemente ausgewählt. Wie definierst du zusammenhängend? Elemente die einen gemeinsamen Endpunkt haben, Elemente die durch eine irgendeine Abhängigkeit oder Bemaßung in Beziehung stehen? Bedenke bitte, dass nicht jeder ein SW rumliegen hat, um eben selbst herauszufinden wie genau sich der Befehl verhält. Eventuell wäre ein Screenshot einer Skizze und den gewünschten Skizzenelemnten hilfreich?
Wenn du dauernd Gruppen von Skizzenelementen von einer Skizze zur nächsten kopierst, sind Blöcke eventuell eine Hilfe?

------------------
MfG
Ralf

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

Manfred Gündchen
Ehrenmitglied V.I.P. h.c.
SelbstständIng mit Planungsbüro Anlagenbau, Dipl.-Ing.-Maschinenbau


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

Beiträge: 2370
Registriert: 08.03.2008

IV seit den 5.3Er
aktuell den 2014Ner
WIN7pro-64bit
SP das jeweils aktuelle

erstellt am: 11. Mai. 2024 09: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 pAtrickstAr 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von rkauskh:…Bedenke bitte, dass nicht jeder ein SW rumliegen hat, um eben selbst herauszufinden wie genau sich der Befehl verhält…
…denn dass ist hier das IV-Forum und nicht das für Solid Irgendwas
Zitat:
Original erstellt von rkauskh:…Eventuell wäre ein Screenshot einer Skizze und den gewünschten Skizzenelemnten hilfreich?…
Auch hier gilt: Dem guten Frager ist schon halb geantwortet. Auch bedenken, „IV-Sprech“ unterscheidet sich ziemlich von „SW-Sprech“.
Zitat:
Original erstellt von rkauskh:…Wenn du dauernd Gruppen von Skizzenelementen von einer Skizze zur nächsten kopierst, sind Blöcke eventuell eine Hilfe?…
…oder, meinereiner findet es nicht nicht so gut mit Skizzenblöcken zu modellieren, die ganze Skizze kopieren; dazu ggf. nur die Linienzüge die wiederverwendet werden sollen in der Skizze verwenden. Weitere Linienzüge auf eine weitere Skizze und der selben Ebene.

------------------
In diesem Sinne wünsche ich allen, weiterhin effektives Schaffen

----------------
Manfred Gündchen
www.guendchen.com

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

pAtrickstAr
Mitglied
Werkzeugmechaniker

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

Beiträge: 7
Registriert: 02.05.2024

erstellt am: 21. Mai. 2024 06:17    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

Guten Morgen,

im Prinzip ist es recht simpel erklärt welche Elemente ausgewählt werden sollten mit diesem Makro.
Vielleicht habe ich mich da wirklich nur zu umständlich ausgedrückt.

im Prinzip alle Elemente egal ob Linie, Kreisbogen, Tangentialbogen usw. welche mit den Endpunkten miteinander verbunden sind.
Ähnliches Prinzip gibt es ja innerhalb einer Skizze um die Elemente miteinander zu verbinden mit der Funktion "Kontur schließen".
Nur bräuchte ich eben z.B. "Kontur Auswählen" welches automatisch alle Endpunkt-verbundenen Elemente auswählt.

Mit Blöcken hätte ich nur wieder einen zusätzlichen schritt und müsste diesen dann auch jedes mal wieder "explodieren" lassen um weitere Elemente (Geometrien) übernehmen zu können.
Dazu kann unsere CAM Integration mit Blöcken nicht wirklich was anfangen.


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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2505
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 21. Mai. 2024 10: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 Nur für pAtrickstAr 10 Unities + Antwort hilfreich

Moin

Zitat:
alle Elemente egal ob Linie, Kreisbogen, Tangentialbogen usw. welche mit den Endpunkten miteinander verbunden sind

Das sind dann geschlossene oder offene Profile. Und das Makro oben wählt diese aus bzw. alle Skizzenelemente die das Profil bilden. Im Stand oben werden nur die geschlossenen berücksichtigt, aber das liese sich vermutlich erweitern.

Mal so aus Neugierde, was soll denn passieren, wenn an einem Endpunkt mehr als ein Skizzenelement anschließt, sich also die "Kette" verzweigt? Alles eine Kette oder sind es dann 2 Ketten, die sich gemeinsame Glieder teilen?

------------------
MfG
Ralf

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

pAtrickstAr
Mitglied
Werkzeugmechaniker

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

Beiträge: 7
Registriert: 02.05.2024

erstellt am: 21. Mai. 2024 10:17    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

Im Prinzip meinst du damit solche "Profile" wie sie z.B. bei der Funktion Extrusion -> Ausgabe Fläche gewählt werden?
Das wäre natürlich auch eine Möglichkeit.
So würde sogar die benötigte Verkettung hervorgehoben werden.

Und ja solche eine verzweigte Verkettung wäre nicht erwünscht.
Da greife ich auch ein und lösche die Koinzidents manuell weg.
Ist auch öfters bei der Funktion "Versatz" nervig.

Aber genau sowas bräuchte ich eben wie bei offenen Profilen oder Versatz ausgewählt wird.
Nur eben zum Markieren damit ich es kopieren, verschieben usw. kann.

Deine Variante wäre sogar in der Hinsicht von Vorteil, da Konstruktionslinien dann nicht mit markiert werden würden.


Also Quasi das Makro aktivieren, mit der Maus ein Element anklicken und das "offene" oder dann auch "geschlossene" Profil wird ausgewählt.

So wäre das optimal

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

rkauskh
Moderator
Dipl.-Ing. (FH) Versorgungstechnik




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

Beiträge: 2505
Registriert: 15.11.2006

Windows 10 x64, AIP 2023

erstellt am: 01. Jun. 2024 14:35    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 pAtrickstAr 10 Unities + Antwort hilfreich

Moin

Sorry, bin bis jetzt nicht mehr dazu gekommen mir das näher anzusehen. Die einfache Variante von oben läßt sich leider nich um offene Konturen erweitern. Ich hab mal eine Alternative gebastelt. Dazu Code 1 in ein normales VBA-Modul kopieren. Den Code 2 in ein Klassenmodul kopieren und das Klassenmodul "clsProfileSelect" nennen.
Zum Ausführen die Sub "Kettenauswahl" starten. Bei jedem Überfahren eines Skizzenobjektes wird das daraus resultierende Profil als Vorschau gehighlighted (was'n Wort  ). Klickt man drauf, beendet sich die Auswahl und die Skizzenelemente des Profiles sind selektiert. Verzweigt der Linienzug, werden die Verzweigungen nicht mit selektiert.
Ich würde mir in die Skizzenumgebung über Benutzerbefehle anpassen einen Button für das Makro setzen.

Code 1:

Code:

Option Explicit

Public Sub Kettenauswahl()
    ' Declare a variable and create a new instance of the select class.
    Dim oSelect As New clsProfileSelect

    If Not ThisApplication.ActiveDocumentType = kPartDocumentObject Then
        Exit Sub
    End If
   
    If Not ThisApplication.ActiveEditObject = kPlanarSketchObject Then
        Exit Sub
    End If
   
    Dim oPartDoc As PartDocument
    Set oPartDoc = ThisApplication.ActiveDocument
   
    Dim oSketch As PlanarSketch
    Set oSketch = ThisApplication.ActiveEditObject
   
    ' Call the Pick method of the clsSFrmProfileSelect object and set
    ' the filter to pick any sketchcurve.
    Dim oSketchEnts As ObjectsEnumerator
    Set oSketchEnts = oSelect.Pick(kSketchCurveFilter)
   
    If oSketchEnts Is Nothing Then Exit Sub
   
    Dim oObjColl As ObjectCollection
    Set oObjColl = ThisApplication.TransientObjects.CreateObjectCollection
       
    Dim oObj As Object
    For Each oObj In oSketchEnts
        Call oObjColl.Add(oObj)
    Next
   
    Dim oSelSet As SelectSet
    Set oSelSet = oPartDoc.SelectSet
   
    Call oSelSet.SelectMultiple(oObjColl)
   
End Sub



Code 2:

Code:

Option Explicit

' Declare the event objects
Private WithEvents oInteraction As InteractionEvents
Private WithEvents oSelect As SelectEvents

' Declare a flag that's used to determine when selection stops.
Private bStillSelecting As Boolean

Public Function Pick(filter As SelectionFilterEnum) As ObjectsEnumerator
    ' Initialize flag.
    bStillSelecting = True
   
    ' Create an InteractionEvents object.
    Set oInteraction = ThisApplication.CommandManager.CreateInteractionEvents
   
    ' Define that we want select events rather than mouse events.
    oInteraction.SelectionActive = True

    ' Set a reference to the select events.
    Set oSelect = oInteraction.SelectEvents
   
    ' Set the filter using the value passed in.
    oSelect.AddSelectionFilter filter
   
    ' The InteractionEvents object.
    oInteraction.Start
   
    ' Loop until a selection is made.
    Do While bStillSelecting
        DoEvents
    Loop
   
    ' Get the selected item.  If more than one thing was selected,
    ' just get the first item and ignore the rest.
    Dim oSelectedEnts As ObjectsEnumerator
    Set oSelectedEnts = oSelect.SelectedEntities
    If oSelectedEnts.count > 0 Then
        Set Pick = oSelectedEnts
    Else
        Set Pick = Nothing
    End If
   
    ' Stop the InteractionEvents object.
    oInteraction.Stop
   
    ' Clean up.
    Set oSelect = Nothing
    Set oInteraction = Nothing
End Function


Private Sub oInteraction_OnTerminate()
    ' Set the flag to indicate we're done.
    bStillSelecting = False
End Sub


Private Sub oSelect_OnSelect(ByVal JustSelectedEntities As ObjectsEnumerator, _
                                ByVal SelectionDevice As SelectionDeviceEnum, _
                                ByVal ModelPosition As Point, _
                                ByVal ViewPosition As Point2d, _
                                ByVal View As View)
    ' Set the flag to indicate we're done.
    bStillSelecting = False
End Sub


Private Sub oSelect_OnPreSelect(PreSelectEntity As Object, _
                                DoHighlight As Boolean, _
                                MorePreSelectEntities As ObjectCollection, _
                                ByVal SelectionDevice As SelectionDeviceEnum, _
                                ByVal ModelPosition As Point, _
                                ByVal ViewPosition As Point2d, _
                                ByVal View As View)
    ' Set a reference to the object the mouse is currently over.
    ' We know it's an edge because of the filtering previously defined.
    Dim oSketchEnt As SketchEntity
    Set oSketchEnt = PreSelectEntity
   
    Dim oProfile As Profile
    Set oProfile = CreateProfile(oSketchEnt)
   
    If oProfile Is Nothing Then Exit Sub
   
    Dim oProfPath As ProfilePath
    Set oProfPath = oProfile.Item(1)

    If oProfPath.count > 1 Then
        Set MorePreSelectEntities = ThisApplication.TransientObjects.CreateObjectCollection
        Dim oProfEnt As ProfileEntity
        For Each oProfEnt In oProfPath
            Call MorePreSelectEntities.Add(oProfEnt.SketchEntity)
        Next
    End If
       
End Sub


Private Function CreateProfile(ByVal oSketchEnt As SketchEntity) As Profile
    If Not oSketchEnt.Type = kSketchPointObject And Not oSketchEnt.Construction = True Then
        Dim oSketch As PlanarSketch
        Set oSketch = oSketchEnt.Parent
       
        Set CreateProfile = oSketch.Profiles.AddForSurface(oSketchEnt)
    End If
End Function



------------------
MfG
Ralf

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