@Bart: Dla następnego bez for, to dlatego, że musiałem odwrócić linię z końcem, jeśli ... ale nie mam teraz nic do przetestowania końca programu.
Postaram się to zobaczyć jutro
@Damoon: Więc, czy dostaniemy mały kieliszek cydru z twoim brut de pomme?
1 polubienie
Dim
16 Listopad 2015 18:13
42
Do rysowania służy do automatycznego wstawiania właściwości dla produkcji...
Usuwa również linie gięcia, dzięki czemu DXF jest bezpośrednio "czysty" do cięcia laserowego.
W ten sposób mam tylko rysunek do eksportu z własnymi ustawieniami.
@coin37coin na cydr nie ma go tutaj w Wandei, to Trouspinette^^
1 polubienie
bart
16 Listopad 2015 18:53
43
To jest to, co mam.
Co mam zrobić? :p
W przeciwnym razie, w drugą stronę, jesteśmy już prawie na miejscu! Musisz tylko powiedzieć Sw, aby wyeksportował tylko płaskie wzory i usunął ten słynny płaski wzór z nazwy.
sans_titre.png
Dim
16 Listopad 2015 19:34
44
Musisz aktywować swoje referencje.
Aby to zrobić, musisz przejść do narzędzia, a następnie odwołać się i sprawdzić referencje jak na załączonym obrazku
capture.png
1 polubienie
bart
16 Listopad 2015 19:38
45
Cóż, nie śmiej się z ciebie^^
Oto, jak widzi to moja logika.
Czekam na Wasze komentarze:p
macro.txt
1 polubienie
Dim
16 Listopad 2015 20:26
46
Podjąłem się twojego sposobu robienia rzeczy (wersy:
NewFilePath = ŚcieżkaNoRozszerzenia + sNazwaKonfiguracji & ". DXF" bRet = swModel.ExportFlatPatternView(NewFilePath, 1) )
opcja, której nie znałem^^
z moimi pętlami na configach, które "przeskakują" konfiguracje zawierające "SM-FLATPATTERN"
Zobacz załączony plik^^.
export-config.txt
2 polubienia
Nie znałem kodu "jest XXX jak wtedy, idź doto".
Ciekawy sposób postępowania, który rozjaśnia wiele linii. Zachowam go
1 polubienie
@Bart, spojrzałem na makro, które zrobiłeś.
Cóż, oczywiście mój kod "If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" " nie działa dobrze (jeśli w ogóle).
Z drugiej strony, dla przypomnienia, bądź ostrożny w swojej konstrukcji. VBA ma swoją własną funkcję do zrobienia i jeśli zamienisz 2 linie, może to zadziałać lub nie ;)
Kiedy to zrobisz
Jeśli Strings.Left(sConfigName, PathSize - 15) = "SM-FLAT-PATTERN" Then
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
NewFilePath = PathNoExtension + sConfigName & ". DXF"
Zasadniczo prosisz go, aby sprawdził, czy w nazwie jest SM-FLAT-PATTERN
Usuń 6 znaków z rozszerzenia
Tworzenie rozwiniętego
Dajesz możliwość dostępu.
Ale powinniśmy to robić w ten sposób
PathNoExtension = Strings.Left(FilePath, PathSize - 6)
If Strings.Left(sConfigName, PathSize - 15) <> "SM-FLAT-PATTERN" Then
NewFilePath = PathNoExtension + sConfigName & ". DXF"
bRet = swModel.ExportFlatPatternView(NewFilePath, 1)
Usuń 6 znaków z nazwy
Jeśli nazwa konfiguracji jest inna (<>) niż Flat Patterne
Podaj ścieżkę do rekordu
Tworzenie rozwiniętego
3 polubienia
bart
17 Listopad 2015 08:23
49
Poszedłem spać o 1 w nocy.
Dużo o tym mówię, to zaczyna się pojawiać... ^^
Zrobiłem składankę wszystkich twoich makr, wziąłem to, co było interesujące.
Wszystko działa idealnie, z wyjątkiem tego płaskiego wzoru.
Właściwie nie potrzebuję nazwy części, wystarczy pobrać nazwę konfiguracji, aby wyszukać tę nazwę "SM-FLAT-PATTERN" i usunąć te znaki.
Z formułą "jest XXX jak to idź do", Sw eksportuje tylko konfiguracje w płaskim wzorze, więc dokładnie to, czego chcę. Wszystko, co pozostaje do zrobienia, to wyczyszczenie nazwy pliku.
1 polubienie
pl
17 Listopad 2015 08:50
50
Witam
Opublikuj najnowszą wersję swojego kodu w TXT, jeśli potrzebujesz pomocy :)
1 polubienie
Dim
17 Listopad 2015 09:05
51
Aby uzyskać właściwą ścieżkę, musisz dokonać małej modyfikacji...
patrz załączone.
export-config.txt
2 polubienia
bart
17 Listopad 2015 09:38
52
50 odpowiedzi! Oto jest pytanie! =)
Oto, gdzie jestem w skali makro.
To są linie, które muszę zmienić:
PathNoExtension = Strings.Left(ŚcieżkaPliku, RozmiarŚcieżki - 6) NewFilePath = ŚcieżkaNoExtension & ". DXF"
Ścieżka do pliku to nazwa części, ale nie chcę tego, chcę tylko nazwę konfiguracji (sConfigName) i usuń "SM-FLAT-PATTERN"
Wiem, bredzę....^^
Jeszcze raz dziękuję w każdym razie! Bez Was nie wiem, jak bym to zrobiła!
Z drugiej strony, aby zapisać najlepszą odpowiedź, będzie to bawełna....^^
macro.txt
2 polubienia
pl
17 Listopad 2015 09:57
53
Aha chcesz tylko nazwę configu?
Więc wymień linię
NewFilePath = ŚcieżkaNoExtension & ". DXF"
przez
NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & sConfigName & ". DXF"
Edycja: z makrem wyczyszczonym w PJ
macro-dxf-bart.txt
3 polubienia
bart
17 Listopad 2015 10:03
54
Jeśli wstawię sCofigName + dxf, poda mi nazwę konfiguracji (1548SM-FLAT-PATTERN) + dxf
Próbowałem, ale to nie działa, dlaczego nie możemy umieścić
PathNoExtension = (sConfigName) , Pathsize -15 ? czy coś w tym stylu
2 polubienia
pl
17 Listopad 2015 10:15
55
Tak, przepraszamy, oto poprawione makro!
Składnia:
NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & left(sConfigName, len(sConfigName)- 15) & ". DXF"
macro-dxf-bart.txt
2 polubienia
bart
17 Listopad 2015 10:41
56
Dziękuję Lucas! =) Nikiel taki!
Na koniec dziękuję wszystkim!!
Cóż, powiesz mi, że jestem nudny, ale chciałbym dodać jeszcze jeden krok................ :s
Tuż przed nazwą konfiguracji chciałbym dodać typ części (Typ 1, Typ 2 itp...)
Ten typ jest właściwością osobistą, która jest widoczna w rodzinie części.
Zmodyfikowałem więc kod makra, aby dodać ten krok, ale nieuchronnie zawiesza się! ^^
Po złożeniu obietnicy zamknę pytanie! :D
macro_final.png
1 polubienie
pl
17 Listopad 2015 10:43
57
Czy uruchamiasz to z mapy czy z 3D?
Edytuj, spróbuj tego (dodaj pierwsze dwie linie i zmodyfikuj 3. z istniejącej):
Przyciemnij TYP jako ciąg
TYPE = SWmoddoc.GetCustomInfoValue("", "type")
NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & TYPE & left(sConfigName, len(sConfigName)- 15) & ". DXF"
2 polubienia
bart
17 Listopad 2015 10:45
58
Z 3D
Kiedy wstawiam Dim TYPE, mówi mi "Oczekiwany błąd ocmpilacji: Identyfikator)
To samo dotyczy drugiej linii :/
1 polubienie
pl
17 Listopad 2015 10:57
59
O tak, przepraszam, że "typ" jest zarezerwowany w VBA! Zamiast tego wpisz TYP:
Dim TYP as string
TYP = SWmoddoc.GetCustomInfoValue("", "typ")
NewFilePath = Left(FilePath, InStrRev(FilePath, "\")) & TYP & left(sConfigName, len(sConfigName)-15) & ". DXF"
Edit: swoją drogą, dokładna nazwa Twojej nieruchomości to "typowa"?
3 polubienia
bart
17 Listopad 2015 11:09
60
Dokładna nazwa właściwości to TYPE
Zwraca wartości takie jak 1 lub 2 lub 3 itp.
Aby dostać się na końcu: T1 Lg 1250.dxf
Błąd kompilacji: Zmienna swmoddoc nie jest ustawiona
W co się ubrać?
Dim Swmoddoc As ...........