Macro verander achtergrond

Hallo

Ik ben op zoek naar een macro om de achtergrond van een SLDDRW te veranderen, ongeacht de originele basiskaart, die de eigenschappen van het blad of de pop-up van de bijgevoegde afbeelding opent en vervolgens het gewenste formaat selecteert.

Het lijkt eenvoudig, maar ik kan de truc niet vinden...

Dank u voor uw mogelijke antwoorden.


capture.jpg
1 like

Hallo

Bijgevoegd is een macro die het bestaande achtergrondplan wijzigt door een van hetzelfde formaat in een gedefinieerde map... als het een spoor van vooruitgang kan geven!


wijzigingfonddeplannen.swp
4 likes

Hallo

Zie de functie SetupSheet6 (IDrawingDoc): http://help.solidworks.com/2017/English/api/sldworksapi/SolidWorks.Interop.sldworks~SolidWorks.Interop.sldworks.IDrawingDoc~SetupSheet6.html?verRedirect=1

Vriendelijke groeten

1 like

Hallo

Ik denk niet dat dat aan zijn verzoek voldoet. Als ik het goed begrijp, wil hij een basiskaart kunnen selecteren zonder van tevoren te weten welke en dus toegang hebben tot de configurator van het blad.

Voor zover ik weet, niet toegankelijk via de API (die je in het algemeen toestaat om zonder dit weergavevenster te doen), moet je je eigen interface ontwikkelen door de verschillende beschikbare basiskaarten op te sommen.

1 like

Geen oplossing om het gewenste venster te openen, maar als het uitkomt kun je de achtergrond volgens de regels veranderen met de mycad Integration tool.

Als de basiskaart =A4 vervangt door Als A3 vervangt door A3.sldprt...

Zie zelfs als achtergrond = een bepaalde naam heeft...

Zie bijgevoegde schermafbeelding.

Misschien voldoet het aan uw behoeften, zelfs als het niet het eerste verzoek is.


remplacer_fond_de_plan.png

Ik geloof dat het niet haalbaar is via "API".

 

Bedankt fgauvrau voor de macro, het is niet precies wat ik zocht, maar het is nog beter omdat het het formaat dat al bestaat!

Hoi allemaal
Ik neem de vrijheid om het onderwerp opnieuw te lanceren met mijn kleine probleem van macro, verandering van plan, formaat en schaal door een selectievenster.

Het werkt wonderwel zolang ik het achtergrondbestand verander. Maar! Als ik alleen de schaal wil wijzigen, verlies ik het blad en moet ik naar de bladeigenschappen gaan en opnieuw laden.
Ik kan deze "Recharge" niet integreren in mijn macro.

Hier is het codegedeelte voor een A3-detailplan
Ik heb hetzelfde voor de andere achtergronden. Het is waarschijnlijk iets toe te voegen aan het einde van mijn macro, maar ik crash ...

@sbadenis ! Jij die vaak de grijze gebieden van mijn beginnerscodes hebt verlicht ^^

Hier is zodra ik mijn keuzes heb gemaakt:

Privé Sub CommandValidation_Click()

Venster voor lossen

Stel swApp = Toepassing.SldWorks in
Deel instellen = swApp.ActiveDoc
boolstatus = Part.Extension.SelectByID2("Sheet1", "SHEET", 0, 0, 0, False, 0, Nothing, 0)

‹ A3 - Gegevens ›
Als OptionButton3.Value = Waar En OptionButtonPrt.Value = Waar Dan
boolstatus = Part.SetupSheet5(swSheet.GetName, 12, 12, TextBox1.Value, TextBox2.Value, True, "Basiskaart prt-A3h.slddrt", 0, 0, "Standaard", True)
Deel.EditTemplate
Deel.EditSheet

Anders
Einde als'

Hallo

Misschien een poging tot herladen : ReloadTemplate Method (ISheet) - 2022 - SOLIDWORKS API Help

1 like

Hallo
Ik heb de knoedel gevonden. Heel eenvoudig. In de regel van de code:
Part.SetupSheet5(swSheet.GetName, 12, 12, TextBox1.Value, TextBox2.Value, True, "A3h.slddrt", 0, 0, "Standaard", True)

De eerste 12 komt niet overeen met mijn A3 formaat. Conflict dus. Er zijn er 8 nodig voor A3, 9 voor A2, 10 voor A1 en 11 voor A0
Raar dat het werkt met 12 voor elk formaat door de manier!

En aan het einde van de code:

Deel.EditTemplate
Deel.EditSheet
Deel.WeergaveZoomtofit2

Hallo
Om andere bugs te voorkomen, zou u in dit geval het formaat van het blad moeten herstellen. Ik denk dat het robuuster zal zijn in het geval van een verandering van versie van SW en schoner, vooral dan de functie te laten baseren op een UserForified-parameter.


swDwgPaperSizes_e Opsomming - 2022 - SOLIDWORKS API Help

1 like