Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  SelectSet & Anzeige

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
  
PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
Autor Thema:  SelectSet & Anzeige (601 mal gelesen)
BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 05. Jul. 2006 12: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

Hallo!

Kennt jemand eine Möglichkeit, wie ein mit Code zusammengebasteltes SelectSet (AcadEntities), auch in der Zeichung sichtbar gemacht werden kann - sprich: wie wenn ich die Elemente mit der Maus selektiert hätte?

Gruß,
BJ

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 05. Jul. 2006 12: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 BJ 10 Unities + Antwort hilfreich

...dafür haben die Selectionsets die Methode Highlight

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 05. Jul. 2006 17: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

Ist mir bekannt, ist aber nicht das gleiche!

Wenn mit der Maus selektiert wird, erscheinen auch die Griffe auf den Elementen, mit "Highlight" nicht!

Hintergrund: In der API gibt es nicht die Methode für einen Zoom auf ein Objekt, also wollte ich mir dies nachbasteln, was aber bisher darann scheitert, dass das SelectSet nicht richtig angezeigt wird.

Gibt's dafür eine Lösung?

Gruß,
BJ

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 05. Jul. 2006 19: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 BJ 10 Unities + Antwort hilfreich

Hallo BJ,

Anbei ein Beispiel um die maximalen und minimalen Koordinaten eines Selectionsets auszulesen. Danach wird am Ende der Selectionset auf Maximale Größe rangezoomt.

'@~~~~ Get the bounding box of a selection set ~~~~@
Public Function GetSSBoundingBox(Min As Variant, _
Max As Variant, objSet As AcadSelectionSet) As Boolean
  Dim dblMaxX As Double
  Dim dblMaxY As Double
  Dim dblMinX As Double
  Dim dblMinY As Double
  Dim varMin As Variant
  Dim varMax As Variant
  Dim objEnt As AcadEntity
  Dim objUtil As Object
  On Error GoTo Err_Control
  Set objUtil = ThisDrawing.Utility
  objSet.Item(0).GetBoundingBox varMin, varMax
  dblMinX = varMin(0)
  dblMinY = varMin(1)
  dblMaxX = varMax(0)
  dblMaxY = varMax(1)
  'Get the highs and lows
  For Each objEnt In objSet
    objEnt.GetBoundingBox varMin, varMax
    If varMin(0) < dblMinX Then
      dblMinX = varMin(0)
    End If
    If varMin(1) < dblMinY Then
      dblMinY = varMin(1)
    End If
    If varMax(0) > dblMaxX Then
      dblMaxX = varMax(0)
    End If
    If varMax(1) > dblMaxY Then
      dblMaxY = varMax(1)
    End If
  Next objEnt
  'Fill the arrays
  objUtil.CreateTypedArray Min, vbDouble, dblMinX, dblMinY, 0
  objUtil.CreateTypedArray Max, vbDouble, dblMaxX, dblMaxY, 0
  GetSSBoundingBox = True
Exit_Here:
  Exit Function
Err_Control:
  MsgBox Err.Description
  Resume Exit_Here
End Function


Public Sub Test_GetSSBoundingBox()
  Dim acSelSet As AcadSelectionSet
  Dim varMin As Variant
  Dim varMax As Variant
  Dim dblPnts(0 To 5) As Double

  Set acSelSet = ThisDrawing.SelectionSets.Add("TestGetSSBB")
  acSelSet.SelectOnScreen
  GetSSBoundingBox varMin, varMax, acSelSet
  ZoomWindow varMin, varMax
End Sub

Gruß, Carsten

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

CADmium
Moderator
Maschinenbaukonstrukteur




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

Beiträge: 13530
Registriert: 30.11.2003

ACAD 2008 Mechanical

erstellt am: 05. Jul. 2006 21:42    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 BJ 10 Unities + Antwort hilfreich

zu ..ist mir bekannt, aber nicht das gleiche....
tja, da sieht man mal wieder, wie wichtig eine korrekte Frageformulierung ist... 

fürs Zoom2OBJ hier ne Lisplösung...

und zu deinem Selectionset ... die Griffe hat bloß das Activselectionset..in Lispgibts dafür die Funktion sssetfirst ...
z.b. was auswählen ... (setq a(ssget))
was anderes machen und Auswahl unmarkieren und dann
(sssetfirst a a)

..ob ActivX was ähnliches bereitstellt :keine Ahnung

------------------
  - Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

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

BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 06. Jul. 2006 08:26    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

@Carsten1210: Danke für das Beispiel, aber auch hier muss der User eingreifen, was ich eigendlich vermeiden wollte. Totzdem DANKE für deine Unterstützung!

@CADmium: Eine korrekte Fragestellung ist immer angebracht, da gebe ich dir recht. Dachte aber, dass ein " - sprich: wie wenn ich die Elemente mit der Maus selektiert hätte?" genau genug wäre. Naja, man kann nicht erwarten, dass ein jeder meine wirren Gedankenergüsse auch versteht   Nix für ungut!

Gruß,
BJ

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

BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 06. Jul. 2006 15:29    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

Wem's interessiert:

Habe das Problem so gelöst (VB), indem ich zuerst aus den Elementen eine Gruppe gebildet habe, und diese dann mit Sendkeys-Anweisungen zoome.

Naja, nicht gerade elegant, aber es funktioniert ohne User-Eingriff.

Gruß,
BJ

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

Carsten1210
Mitglied
staatl. geprüfter Holztechniker


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

Beiträge: 1360
Registriert: 24.07.2002

AutoCAD ACA 2024
Solidworks 2022 Sp5
Enterprise PDM 2022 Sp5
Pascam Woodworks
Visual Studio 2017 Pro
Windows 10 64Bit
Dell Precision 3660
Intel Core i9-12900K
32 GB Arbeitsspeicher
2x Dell U2415

erstellt am: 06. Jul. 2006 15:52    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 BJ 10 Unities + Antwort hilfreich

Hallo BJ,

Dann hättest du in dem Code oben ja auch die SelectOnScreen-Anweisung gegen deine Auswahlsatz-Sammlung tauschen können und es wird auf die Grenzen des Auswahlsatzes gezoomt. Da brauchst du dann aber kein Sendkeys / Sendcommand. 

Gruß, Carsten

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



Anzeige:Infos zum Werbeplatz >>

CADprofi HVAC & Piping CAD APP für Heizung, Lüftung und Klimatisierung (HLK), TGA, Messen, Steuern, Regeln (MSR)

BJ
Mitglied
PLM System Administrator


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

Beiträge: 488
Registriert: 20.12.2002

erstellt am: 06. Jul. 2006 16:38    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

Ahäm - jetzt wo du es sagst, sehe ich es auch 
Hatte wohl wiedereinmal Tomaten auf den Augen...

Gruß,
BJ

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