@Bart: Voor de volgende zonder, is het omdat ik een lijn met het einde moest omkeren als ... maar ik heb nu niets om het einde van het programma te testen.
Dat zal ik morgen proberen te zien
@Damoon: Dus, krijgen we een klein shotje cider met je brut de pomme?
1 like
Dim
16 november 2015 om 18:13
42
Voor tekenen wordt het gebruikt om automatisch eigenschappen in te voegen voor productie...
En het verwijdert ook de buiglijnen, zodat de DXF direct "schoon" is voor lasersnijden.
Op die manier heb ik alleen een tekening voor de export met eigen instellingen.
@coin37coin voor cider is er hier geen in de Vendée, het is de uitzet^^
1 like
bart
16 november 2015 om 18:53
43
Dit is wat ik heb.
Wat moet ik doen? :p
Anders, met de andere kant, zijn we er bijna! Je hoeft Sw alleen maar te vertellen om alleen de platte patronen te exporteren en dit beroemde platte patroon uit de naam te verwijderen.
sans_titre.png
Dim
16 november 2015 om 19:34
44
Je moet je referenties activeren.
Om dit te doen, moet je naar de tool gaan, vervolgens verwijzen en de referenties controleren zoals in de bijgevoegde afbeelding
capture.png
1 like
bart
16 november 2015 om 19:38
45
Nou, maak je niet belachelijk ^^
Dit is hoe mijn logica het ziet.
Ik kijk uit naar uw opmerkingen:p
macro.txt
1 like
Dim
16 november 2015 om 20:26
46
Ik heb jouw manier van doen overgenomen (de zinnen:
NewFilePath = PathNoExtension + sConfigName & ". DXF" bRet = swModel.ExportFlatPatternView(NewFilePath, 1) )
een optie die ik niet kende^^
met mijn lussen op de configs die de configs met "SM-FLATPATTERN" "overslaat"
Zie bijgevoegd bestand^^.
export-config.txt
2 likes
Ik kende de code "is XXX zoals dan goto" niet.
Interessante manier van werken en die veel lijnen lichter maakt. Ik zal het behouden
1 like
@Bart, ik keek naar de macro die je deed.
Het is duidelijk dat mijn code van "If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" " niet geweldig werkt (of helemaal niet).
Aan de andere kant, voor de goede orde, wees voorzichtig in uw constructie. De VBA heeft zijn eigen functie te doen en als je 2 lijnen verwisselt kan het wel of niet werken;)
Als je dat doet
Als Strings.Left(sConfigName, PathSize - 15) = "SM-FLAT-PATTERN" Dan
is PathNoExtension = Strings.Left(FilePath, PathSize - 6)
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
NewFilePath = PathNoExtension + sConfigName & ". DXF"
Kortom, je vraagt hem om te controleren of SM-FLAT-PATTERN in de naam staat
Verwijder 6 tekens uit de extensie
Creëer de uitgevouwen
Jij geeft de weg naar toegang.
Maar we moeten het zo doen
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" dan
NewFilePath = PathNoExtension + sConfigName & ". DXF"
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
Verwijder 6 tekens uit de naam
Als de naam van de configuratie afwijkt (<>) van Flat Patterne
Geef het pad naar de record
Creëer de uitgevouwen
3 likes
bart
17 november 2015 om 08:23
49
Ik ging om 1 uur 's nachts naar bed.
Ik heb veel gepraat, het begint binnen te komen... ^^
Ik heb een medley gemaakt van al je macro's, ik heb genomen wat interessant was.
Alles werkt perfect, behalve dit platte patroon.
Eigenlijk heb ik de naam van het onderdeel niet nodig, ik hoef alleen maar de naam van de configuratie op te halen om in deze naam "SM-FLAT-PATTERN" te zoeken en deze tekens te verwijderen.
Met de formule "is XXX like then goto", exporteert Sw alleen de configs in Flat patroon, dus precies wat ik wil. Het enige dat u nog hoeft te doen, is de bestandsnaam opschonen.
1 like
pl
17 november 2015 om 08:50
50
Hallo
Plaats de nieuwste versie van je code in een TXT als je hulp wilt:)
1 like
Dim
17 november 2015 om 09:05
51
Om het juiste pad te krijgen, moet je een kleine wijziging aanbrengen...
Zie bijgevoegd.
export-config.txt
2 likes
bart
17 november 2015 om 09:38
52
50 antwoorden! Dat is de vraag! =)
Hier is waar ik ben in de macro.
Dit zijn de regels die ik moet veranderen:
PathNoExtension = Strings.Left(FilePath, PathSize - 6) NewFilePath = PathNoExtension & ". DXF"
Bestandspad is de naam van het onderdeel, maar ik wil het niet, ik wil gewoon de naam van de configuratie (sConfigName) en verwijder "SM-FLAT-PATTERN"
Ik weet het, ik ben aan het dwalen....^^
Nogmaals bedankt in ieder geval! Zonder jou weet ik niet hoe ik het zou hebben gedaan!
Aan de andere kant, om het beste antwoord op te schrijven, wordt het katoen....^^
macro.txt
2 likes
pl
17 november 2015 om 09:57
53
Oh, je wilt alleen de naam van de configuratie?
Vervang dus de lijn
NewFilePath = PathNoExtension & ". DXF"
bij
NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & sConfigName & ". DXF"
Edit: met de macro opgeruimd in PJ
macro-dxf-bart.txt
3 likes
bart
17 november 2015 om 10:03
54
Als ik sCofigName + dxf zet, krijg ik de naam van de configuratie (1548SM-FLAT-PATTERN) + dxf
Ik heb het geprobeerd, maar het werkt niet, waarom kunnen we het niet plaatsen
PathNoExtension = (sConfigName) , Padgrootte -15 ? of iets dergelijks
2 likes
pl
17 november 2015 om 10:15
55
Ja sorry, hier is de gecorrigeerde macro!
De syntaxis:
NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & links(sConfigName, len(sConfigName)- 15) & ". DXF"
macro-dxf-bart.txt
2 likes
bart
17 november 2015 om 10:41
56
Dank je wel Lucas! =) Nikkel zo!
Tot slot, bedankt allemaal!!
Nou, je gaat me vertellen dat ik saai ben, maar ik wil nog een laatste stap toevoegen................ :s
Net voor de naam van de configuratie wil ik het type van het onderdeel toevoegen (Type 1, Type 2 enz...)
Dit type is een persoonlijk eigendom dat zichtbaar is in de deelfamilie.
Dus ik heb de macrocode aangepast om deze stap toe te voegen, maar het is onvermijdelijk dat deze vastloopt! ^^
Na een belofte sluit ik de vraag! :D
macro_final.png
1 like
pl
17 november 2015 om 10:43
57
Start je dit vanaf een kaart of vanuit 3D?
Bewerk, probeer dit (voeg de eerste twee regels toe en wijzig de 3e van de bestaande):
Dim TYPE als string
TYPE = SWmoddoc.GetCustomInfoValue("", "type")
NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & TYPE & left(sConfigName, len(sConfigName)- 15) & ". DXF"
2 likes
bart
17 november 2015 om 10:45
58
Van 3D
Als ik Dim TYPE zet, vertelt het me "Verwachte ocmpilatiefout: Identifier)
Hetzelfde geldt voor de tweede regel :/
1 like
pl
17 november 2015 om 10:57
59
Oh ja, sorry "type" is gereserveerd in VBA! Zet in plaats daarvan TYP:
Dim TYP als tekenreeks
TYP = SWmoddoc.GetCustomInfoValue("", "type")
NewFilePath = Links(FilePath, InStrRev(FilePath, "\")) & TYP & left(sConfigName, len(sConfigName)-15) & ". DXF"
Edit: trouwens, de exacte naam van uw woning is "typisch"?
3 likes
bart
17 november 2015 om 11:09
60
De exacte naam van de woning is TYPE
Het retourneert waarden zoals 1 of 2 of 3 enz...
Om uiteindelijk te komen: T1 Lg 1250.dxf
Compilatiefout: De variabele swmoddoc is niet ingesteld
Wat draag ik?
Dim Swmoddoc als ...........