Macro om Sheet2 te verwijderen

Hallo

 

Ik wil blad2 (als het bestaat) in een tekening kunnen verwijderen met behulp van een macro. (SW2014)

Ik heb eerst geprobeerd een macro op te nemen, maar het werkt niet, daarna heb ik veel leads op internet gevonden, maar geen van hen werkt op dit moment.

 

Hier is een voorbeeld (niet-functioneel) op 3D content central:

 

' Voorbeeldmacro met beschrijvingen van het toevoegen en verwijderen van tekenbladen. Door Matthew Lorono, Copyright 2007 (fcsuper@aol.com)
' Deze code biedt bijvoorbeeld zelf geen gebruikelijke functie.  Door deze code op welke manier dan ook te gebruiken, kunnen de gebruiker en
" alle entiteiten die de gebruiker vertegenwoordigt, verbinden zich ertoe de oorspronkelijke auteur te vrijwaren van alle aansprakelijkheid.
' Gratis verspreiding en gebruik van deze code in andere vrije werken zijn welkom.  Als een deel van deze code in andere werken wordt gebruikt,
' moet de oorspronkelijke auteur in dat werk worden geplaatst op een voor de gebruiker toegankelijke locatie.  Alle andere vormen van distributie (d.w.z. niet gratis) zijn
" verboden zonder de uitdrukkelijke schriftelijke toestemming van de oorspronkelijke auteur.
' Gedistribueerd door: http://sw.fcsuper.com

Dim swApp als object
Deel dimmen als object
Dim boolstatus als Booleaanse

Sub hoofd()

Stel swApp = Toepassing.SldWorks in

Deel instellen = swApp.ActiveDoc

'Blad toevoegen
boolstatus = Part.NewSheet3("Boon", swDwgPaperCsize, swDwgTemplateCsize, 1, 1, Onwaar, 0, 0, 0, 0)

'Wis boolstatus voor de volgende bewerking (verwijderbewerking werkt mogelijk niet goed terwijl boolstatus = True)
boolstatus = Onwaar

'Gebruikersinvoer (zodat de gebruiker kan zien wat er is gebeurd; niet essentieel voor de functie van deze macro)
MsgBox ("Hoe gaat het?")

'Selecteer Blad
boolstatus = Part.Extension.SelectByID2("Boon", "SHEET", 0, 0, 0, False, 0, Niets, 0)

'Blad verwijderen
Deel.BewerkenVerwijderen

Einde Sub

 

Als je van tevoren een idee hebt, bedankt.

Hallo

Als je toegang hebt tot MyCADTools-tools, stelt INTEGRATION je in staat om dit te doen (het lijkt mij).

Zo niet, wacht dan @.PL!

1 like

Niet gevonden in integratie, het stelt u in staat om een laag te verwijderen, maar niet een vel.

Het doel is juist om deze macro in integratie te lanceren.

1 like

Dus op dat moment dacht ik voor mij dat het een van de mogelijke acties was. Sorry.

U kunt dit als volgt doen:

 

 

Stel swApp = Toepassing.SldWorks in
Stel swModel = swApp.ActiveDoc in
Stel swDrawing in = swModel

swDrawing.ActivateSheet ("Blad 2")

Stel swSheet in = swDrawing.GetCurrentSheet

 

swmodel. BewerkenVerwijderen

 

1 like

Hallo

U moet waarschijnlijk "SHEET" vervangen door "Sheet" of, waarschijnlijker, "Sheet2".

De originele macro werkt als SolidWorks in het Engels is...

Ter info: de 1e macro heeft het blad toegevoegd, maar kan het niet verwijderen.

Voor de macro van g.doyen idem

SW geeft een knopinfo weer waarbij geen van deze entiteiten kan worden verwijderd.

Anders heb ik ook tevergeefs in de Engelse macro's geprobeerd te vervangen door Leaf of Leaf2.

Dus moeten we het blad toevoegen of verwijderen? Of gewoon blad 2 alleen verwijderen als het bestaat?

Verwijderd blad2 als het bestaat.

1 like

Ok, dus de macro-bijlage werkt?


feuille2.txt

Helaas niet, compilatiefout.

Hier is de zeefdruk:

Omdat het beeld niet geweldig is

Het bugs op deze lijn

Stel swSheet in = swDrawing.GetCurrentSheet

en meer specifiek op swDrawing (variabele niet gedefinieerd)

Haastig gedaan en niet getest, het moet in plaats daarvan worden gezwommen.
1 like

proberen te vervangen door SwDraw;)

 

Trouwens, je 2e blad zal noodzakelijkerwijs "blad2" heten?

Voor de fout, dat klopt.

Blad2 wordt geactiveerd, maar het venster met Geen van deze entiteiten kan worden verwijderd, verschijnt nog steeds... GRRR...

 

Anders, in onze manier van doen, ja, Sheet1 is altijd het laservlak en Sheet2 is het vouwvlak.

Ik had tijd om het vanavond te testen en nu werkt het!

Ik heb de macro in een tutorial over Lynkoa, je kunt het hier vinden:

http://www.lynkoa.com/tutos/macro-solidworks-supprimer-une-feuille-d-une-mise-en-plan-0

 

PS: kies dit antwoord als het beste!

1 like

Sorry voor het late antwoord. Maar groot netwerkprobleem vanmorgen.

Ik heb de laatste macro getest en het werkt geweldig.

Aan de andere kant breekt het pdf-formaat de lay-out volledig af bij het kopiëren en plakken.

Maar niets ernstigs.

Hartelijk dank aan iedereen die heeft geholpen en in het bijzonder aan .PL, die het beste antwoord verdienden!

1 like
Bedankt. Voor je laatste probleem, ik begreep het niet, je kunt een nieuwe vraag openen als je wilt.