Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  SolidWorks
  Ebene per VBA einfügen und umbennenen

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
  
Ein Überblick über lineare und nichtlineare Simulationen in der Strukturmechanik
Autor Thema:  Ebene per VBA einfügen und umbennenen (1772 / mal gelesen)
wemasb
Mitglied
Quereinsteiger


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

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 02. Mai. 2016 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

Hallo Community,

ich hoffe einer von euch kann mir bei folgendem Problem helfen:

Ich habe per Makro Recorder ein Makro aufgenommen und anschließend leicht abgewandelt:

Dim swApp As Object

Dim Part As Object
Dim boolstatus As Boolean
Dim longstatus As Long, longwarnings As Long
Dim TIEFE As Variant


Sub main()

Set swApp = _
Application.SldWorks

TIEFE = 75

Set Part = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Ebene vorne", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
Dim myRefPlane As Object
Set myRefPlane = Part.FeatureManager.InsertRefPlane(8, TIEFE / 1000, 0, 0, 0, 0)
Part.ClearSelection2 True
boolstatus = Part.Extension.SelectByID2("Ebene12", "PLANE", 0, 0, 0, False, 0, Nothing, 0)
boolstatus = Part.SelectedFeatureProperties(0, 0, 0, 0, 0, 0, 0, True, False, TIEFE)
End Sub

In diesem Makro wähle ich zuerst die Ebene "Ebene Vorne" an und generiere eine neue Ebene mit Abstand 75mm und diese kriegt anschließend den Namen "75".

Nur muss ich den Namen der neu erstellten Ebene (hier: Ebene 12) explizit ausschreiben damit ich sie umbennen kann.

Jetzt zu meiner eigentlichen Frage:
Wie kann ich dem Makro sagen NIMM DIE ZULETZT ERSTELLTE EBENE?
Habe in der API Hilfe etwas von GetLastFeatureAdded entdeckt, werde aber kein bisschen schlau draus 

Danke für jede Art von Hilfe

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

nahe
Ehrenmitglied



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

Beiträge: 1747
Registriert: 18.01.2001

arbeite mit:
Dell Precision 7750
i7 2,6 GHz 6 Kerne
32GB RAM
512GB SSD
NVIDIA Quadro RTX 4000
------------------------
SWX-2020 SP5.0
EPDM
----------------
Windows 10
----------------
VB.net
VB
VBA
ein wenig Swift am Mac

erstellt am: 02. Mai. 2016 16: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 wemasb 10 Unities + Antwort hilfreich

Hallo

gib einfach statt "Ebene12" myRefPlane.Name ein und es passt.

------------------
Grüße
Heinz

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

wemasb
Mitglied
Quereinsteiger


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

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 03. Mai. 2016 07:43    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

wahnsinn... danke 

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

wemasb
Mitglied
Quereinsteiger


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

Beiträge: 124
Registriert: 10.09.2012

SolidWorks 2018
Office 2010
AutoCAD 2007

erstellt am: 18. Aug. 2016 07:30    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,

kannst du mir auch verraten, wie ich den gleichen Effekt bei einer Skizze hinbekomme?
Also die zuletzt eingefügte Skizze zu markieren und umzubennenen?

Danke 

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

bk.sc
Ehrenmitglied V.I.P. h.c.
Konstrukteur Sondermaschinenbau



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

Beiträge: 2776
Registriert: 18.07.2012

-Solid Works 2019 SP5
-Pro Engineer WF 3

erstellt am: 18. Aug. 2016 07:46    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 wemasb 10 Unities + Antwort hilfreich

Hallo,

ich würde das zum Zeitpunkt der Skizzenerstellung umbenennen, dazu musst du über das Feature-Object gehen.

Code:

Dim swApp As SldWorks.SldWorks
Dim swModel As ModelDoc2
Dim swModelDocExt as ModelDocExtension
Dim swSketchMgr As SketchManager
Dim swSketch As Sketch
Dim swFeature As Feature

Dim boolstatus as Boolean

Set swModel = swApp.ActiveDoc
Set swModelDocExt = swModel.Extension

swModel.SetPickMode

boolstatus = swModelDocExt.SelectByID2("Ebenenname zum Einfügen", "PLANE", 0, 0, 0, False, 0, Nothing, 0)

Set swSketchMgr = swModel.SketchManager

swSketchMgr.InsertSketch True

Set swSketch = swModel.GetActiveSketch2
Set swFeature = swSketch

swFeature.Name = "NEUEERNAME"

'und ab hier dann die Skizzensekmente erstellen


Gruß
Bernd

------------------
--- Man muß nicht alles wissen, man muß nur wissen wo es steht ---

Staatlich anerkannte Deutschniete   

[Diese Nachricht wurde von bk.sc am 18. Aug. 2016 editiert.]

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