Macro generatie pdf en stap

Hoi allemaal!

Allereerst dank aan het forum voor het bestaan, het is een echte bron van oplossing, en bedankt allemaal voor uw deelnamen, die het live maken!

Ik ben gekomen om bij jullie in een nieuw bedrijf te komen werken en ik wil graag nieuwe manieren van werken opzetten.

Om dit te doen, ben ik op zoek naar een macro die voor mij, vanuit het 3D sldprt deel, een STEP-bestand genereert met in de bestandsnaam de naam van het onderdeel + de revisie, d.w.z. het NomPièce_Révision.stp-formaat, met indien mogelijk een pictogram wanneer u zich op het onderdeelvenster in de taakbalk bevindt.

En voor tekeningen, een macro die de tekening exporteert, met de revisie en beschrijving van het onderdeel, d.w.z. het NomPièce_révision - description.pdf formaat, terwijl de gepersonaliseerde eigenschappen van het onderdeel worden overgenomen (het is op artikelniveau dat de revisie- en beschrijvingsvelden worden bewerkt).

In de hoop nauwkeurig te zijn geweest in mijn verzoek, dank ik u bij voorbaat voor uw hulp!

Fijne dag @ allemaal

Hallo
Door reeds beschikbare macro's te verzamelen, kunt u een macro maken die het werk doet op basis van het type geopend bestand (een enkel startpictogram in de interface).
Het is ook goed om aan de slag te gaan als je een beetje kennis hebt van VBA :slight_smile:

daar is waar de bodem pijn doet... Het is omdat ik nog nooit in mijn leven een macro heb aangeraakt.
Ik heb geprobeerd wat te openen om de inhoud te zien, maar ik verdwaal...

Ik heb wat tijd tijdens mijn lunchpauze, dus wat is de naam van de aangepaste eigenschappen (beoordeling en beschrijving) zodat ik de definitieve code direct kan verstrekken?
Zijn we het erover eens dat Bestandsnaam = Onderdeelnaam?

Ja absoluut
Bestandsnaam = Onderdeelnaam
Sjabloon Utilisés.zip (136.5 KB)

Ik sta mezelf toe om de bestanden bij te voegen met de exacte namen en eigenschappen zoals ze worden genoemd

Heel erg bedankt voor de hulp

Is het mogelijk om commentaarregels in de code te hebben? Zodat ik me kan laten begeleiden en het misschien in de loop van de tijd kan laten evolueren, zonder iedereen lastig te vallen :wink:

Ook voor het aanvragen van een pictogram in de Solidworks-taakbalk, hoe werkt het?

Re
Bijgevoegd is de code zoveel mogelijk becommentarieerd.
De .dot heeft geen eigenschappen die ik xxx zet, om de juiste waarden te veranderen
Macro-PDF_STEP.swp (87,5 kB)

2 likes

Hallo Cyril.f,

Bedankt voor dit werk!!

Ik weet echter niets over .swp-bestanden en ik weet niet met welke applicatie ik ze moet openen :confused:

oeps, ik denk dat ik heb gezien hoe ik het moet openen...

Ik ben deze stap aan het testen :slight_smile:
Nogmaals bedankt!!

Dit is het native formaat voor macro's.
Zie deze link om een snelknop te starten en toe te voegen:

Hoi allemaal

Nogmaals bedankt aan Cyril.f, de macro werkt geweldig!

Gewoon een minpuntje voor mij, want bij het lezen van andere berichten (hier en op andere forums), kunnen macro's geen aangepaste eigenschappen lezen?

Ik leg mezelf uit aan de hand van aangepaste eigenschappen:
om een prettige interface te hebben, met vervolgkeuzelijst, kalender om op te klikken, enz... Ik heb de formuliereditor gebruikt

Hierdoor heb ik een mooie boomstructuur om de velden van de gewenste eigenschappen in te vullen

Behalve dat hiermee alleen de velden in het configuratiespecifieke tabblad worden bewerkt


En a priori niet leesbaar door macro's

Is er een truc om de velden van het tabblad Aanpassen in te vullen (en ze zijn leesbaar door macro's) of dat macro's de velden in het tabblad kunnen lezen dat specifiek is voor de configuratie?

Bovendien worden de velden die eenmaal zijn ingevuld in de velden van mijn onderdeel, niet automatisch geschreven in de velden van de eigenschappen van de tekening (van het betreffende onderdeel)

Hoe kan ik alleen de velden in de kamer invullen en ze direct in de MEP laten schrijven?

Veel vragen, ik weet het, maar ik probeer het zo goed mogelijk te begrijpen om autonomer te zijn

Bedankt allemaal!!

Hallo
Als het leesbaar is via macro's wanneer het bestand in SW wordt geopend. Alleen als je ze wilt afspelen zonder het bestand te openen, wordt het ingewikkeld.
In de macro die ik heb verstrekt, kun je een verwerking toevoegen om erachter te komen of er informatie is in het configuratiespecifieke tabblad (alleen op onderdeel en asm).

Cyril.f kunt u mij laten weten wat ik nodig heb om te schrijven in de macro om de velden in de macro te lezen?

En is het mogelijk om de configuratiespecifieke velden die in de ruimte zijn bewerkt, rechtstreeks in de velden op het tabblad Aanpassen van de MEP te schrijven?

Macro's kunnen aangepaste of configuratiespecifieke eigenschappen lezen, maar niet voor beide dezelfde (macro)functie.
Voor het laatste punt zijn er macro's om de eigenschappen van het onderdeel te nemen en ze te herschrijven in de MEP, maar de eigenschappen zijn ook toegankelijk vanuit de MEP door naar de eigenschap van het onderdeel te gaan dat aan de weergave is gekoppeld.
Voorbeeld voor het materiaal: $PRPSHEET:"Materiaal" haalt het materiaal op van het onderdeel naar de weergave waarnaar wordt verwezen in het MEP, terwijl $PRP:"DATE" verwijst naar het eigendom van het MEP:
https://help.solidworks.com/2020/french/EnterprisePDM/Admin/t_creating_SOLIDWORKS_PRP_PRPSHEET_links.htm

Ik wil dat de velden op de woningkaart worden ingevuld door de velden die in de kamer zijn ingevuld en niet alleen door het blok.
Op dit moment vul ik de eigenschappen van het onderdeel in, maar in de tekening zijn de velden van de eigenschappenkaart leeg, terwijl mijn titelblok die van het onderdeel volgt

Omdat de velden leeg zijn, loopt de macro dus niet zoals het hoort

Er zijn twee mogelijkheden: of je krijgt de 3D aan het vliegtuig en je injecteert de waarden in de eigenschappen van de tekening.
Een andere oplossing: scan de cartridge en haal de eigenschappen op waarin we geïnteresseerd zijn en kopieer ze naar de eigenschappen van de tekening.
Om de waarden op te halen die specifiek zijn voor de configuratie van een onderdeel of asm, moet u deze regels wijzigen:
sRevision = swModel.CustomInfo2("", "xxx")
Bij:

sRevision = swModel.CustomInfo2("Défaut", "xxx") 

Standaard is dit de naam van een configuratie. Als er meerdere configuraties nodig zijn, moeten de verschillende informatie worden gescand voor het geval er verschillen zijn en de juiste behandeling worden toegepast.

1 like

Welke is het gemakkelijkst?
Wil je liever de info lezen die de cartridge is?

En zo niet, hoe injecteer je de 3D-waarden in de MEP-eigendomskaart?

Beide zijn eenvoudig.
Na een andere oplossing in de eigenschappen hoeft u alleen maar de expressiekolom $PRPSHEET:"xxx" in te voeren en het stelt u in staat om de eigenschappen en waarden te koppelen.
Om te zien of het zich verspreidt in de vorm

De waarde wordt niet gelezen

En bovendien genereert het een fout bij het uitvoeren van de macro

Capture Erreur Macro

En als ik op debug druk

Dus we moeten in de macro de velden veranderen die de cartridge moet lezen?

Zoals wat
veranderen
sDescription = swModel.CustomInfo2("  ", " Beschrijving ")

bij

sDescription = swModel.CustomInfo2("  ", " $PRPSHEET "Beschrijving ")

Of verpruts ik het helemaal?

Oeps, ja, het wordt niet geëvalueerd. Afgezien van de macro zie ik geen andere oplossingen