| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für SOLIDWORKS |
| |
| Bechtle stärkt PLM-Geschäft mit Neugründung, eine Pressemitteilung
|
Autor
|
Thema: Barcode auf Zeichnung (6519 mal gelesen)
|
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 15. Jan. 2015 07:46 <-- editieren / zitieren --> Unities abgeben:
Hallo, würde gerne auf meiner Zeichnung einen Barcode, welcher die Artikelnummer enthällt haben. Wir müssen hierzu einen Barcode Code128 verwenden, welchen ich bisher nicht als Schriftart verwenden konnte. Es gibt zwar Schriftarten, die kann aber kein Smartphone und Barcodescanner einlesen. Hoffe dass das hier schon mal jemand umgesetzt hat und mir einen Tipp geben kann. ------------------ Konstruktion & Entwicklung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ad_man Mitglied freiberuflicher Entwicklungsing. (Fahrzeugtechnik, CSWP, CPPA))
Beiträge: 1384 Registriert: 20.12.2003 SolidWorks 2023 SP5 mit Enterprise PDM , Windows 11, Dell Precision 3660, i7-12700K, 96 GB DDR-Ram, Quadro RTX A4000
|
erstellt am: 15. Jan. 2015 08:14 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Guten Morgen, ich würde den Barcode von einem entsprechenden Programm als Grafik erzeugen lassen und diese Grafik dann in die Zeichnung einfügen. ------------------ ========== Gruß Andreas ========== Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Heiko Soehnholz Ehrenmitglied V.I.P. h.c. Dipl.-Ing. (FH) Maschinenbau
Beiträge: 5499 Registriert: 03.07.2002 SOLIDWORKS 2001 - 2024SP3.1 Elite AE Award 2023 SOLIDWORKS Premium, Simu, Flow, Plastics, Composer, MBD, Inspection, PDMP, Visualize, TopsWorks, DPS Tools, JobBox, MacroSheet, etc. Passungstabelle von Heinz WIN10x64 22H2 | HP ZBook 17 Fury G8
|
erstellt am: 15. Jan. 2015 08:41 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
|
Alexx2 Mitglied design engineer
Beiträge: 950 Registriert: 25.10.2010 SWX2020SP5.0 Win10X64
|
erstellt am: 15. Jan. 2015 09:17 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
|
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 15. Jan. 2015 17:53 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
|
anfänger-paul Mitglied Elektro-Techniker
Beiträge: 158 Registriert: 27.11.2003 Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz NVIDIA Quadro 4000 16 GByte RAM ATA SSDSA2BW16 SCSI Disk Device Windows 7 Enterprise SW 2013 x64 SP3.0 keytech 13 ERP Microsoft Navision NAV 2009 R2
|
erstellt am: 16. Jan. 2015 08:38 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Guten Morgen, wir haben die Barcode-Software von tec-it im Einsatz (allerdings in Word). Damit sind wir sehr zufrieden. Sie ist auch relativ günstig. Eine kostenlose Testversion findest du unter www.tec-it.com. Evtl. kannst du die per copy/paste oder sogar als Objekt in deine Zeichnung einfügen. Außerdem kannst du dort die unterschiedlichen Varianten (Word, Excel, ...) sowie die Preisliste finden. Wie gesagt, mit der Word-Version sind wir glücklich. Gruß, paul
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 16. Jan. 2015 08:41 <-- editieren / zitieren --> Unities abgeben:
Barcode Software haben wir hier auch, somit kann ich mir schon die codes erzeugen, und dann einfügen,... wäre halt schön gewesen, wenn das irgendwie in SWX direkt ginge, werde das aber nachher noch beim Reseller erfragen. Ich mag einfach wenn sowas komplett automatisch läuft. ------------------ Konstruktion & Entwicklung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 16. Jan. 2015 19:14 <-- editieren / zitieren --> Unities abgeben:
So, lat Reseller ist hier keine fertige Lösung vorhanden. Empfohlen wurde auch hier der Font, was ja aber dank Checksum und soweiter nicht funktioniert. Man müsste irgendwie die Checksum,etc. in ner eigenschaft haben, dann würds ja gehen... ------------------ Konstruktion & Entwicklung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RolandD Mitglied
Beiträge: 558 Registriert: 07.01.2005
|
erstellt am: 16. Jan. 2015 20:11 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
|
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 16. Jan. 2015 21:01 <-- editieren / zitieren --> Unities abgeben:
Hallo, vielen Dank. Sieht vielversprechend aus... Hab nur das Problem, dass ich nicht so der Programmierer, aber muss ich mal anschauen, ob ich da irgendwas draus machen kann... ------------------ Konstruktion & Entwicklung Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 09. Feb. 2015 21:22 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Code: Option ExplicitSub main() Dim swApp As SldWorks.SldWorks Dim swModel As ModelDoc2 Dim swModelDocExt As ModelDocExtension Dim swCustProp As CustomPropertyManager Dim val As String Dim Number2Func As String Dim BarcodeChkSum As String Dim bool As Boolean Set swApp = Application.SldWorks Set swModel = swApp.ActiveDoc If swModel Is Nothing Then Call MsgBox("Keine Datei geöffnet", vbOKOnly, "Information") Exit Sub End If Set swModelDocExt = swModel.Extension 'Get the custom property data Set swCustProp = swModelDocExt.CustomPropertyManager("") bool = swCustProp.Get4("Number", False, val, Number2Func) BarcodeChkSum = Code_128_B(Number2Func) 'Bei manchen Teilen muss die Eigenschaft erst noch geschrieben werden bool = swModel.AddCustomInfo3("", "Barcode", 30, BarcodeChkSum) 'Wenn die Eigenschaft schon vorhanden ist swModel.CustomInfo2("", "Barcode") = BarcodeChkSum End Sub Public Function Code_128_B(Number2Func) 'V 2.0.0 - Grandzebu http://grandzebu.net/informatique/codbar-en/code128.htm 'Parameters : a string 'Return : * a string which give the bar code when it is dispayed with CODE128.TTF font ' * an empty string if the supplied parameter is no good Dim i%, checksum&, mini%, dummy%, tableB As Boolean Code_128_B = "" If Len(Number2Func) > 0 Then 'Check for valid characters For i% = 1 To Len(Number2Func) Select Case Asc(Mid$(Number2Func, i%, 1)) Case 32 To 126, 203 Case Else i% = 0 Exit For End Select Next 'Calculation of the code string with optimized use of tables B and C Code_128_B = "" tableB = True If i% > 0 Then i% = 1 'i% becomes the string index Do While i% <= Len(Number2Func) If tableB Then 'See if interesting to switch to table C 'yes for 4 digits at start or end, else if 6 digits mini% = IIf(i% = 1 Or i% + 3 = Len(Number2Func), 4, 6) GoSub testnum If mini% < 0 Then 'Choice of table C If i% = 1 Then 'Starting with table C Code_128_B = Chr$(210) Else 'Switch to table C Code_128_B = Code_128_B & Chr$(204) End If tableB = False Else If i% = 1 Then Code_128_B = Chr$(209) 'Starting with table B End If End If If Not tableB Then 'We are on table C, try to process 2 digits mini% = 2 GoSub testnum If mini% < 0 Then 'OK for 2 digits, process it dummy% = val(Mid$(Number2Func, i%, 2)) dummy% = IIf(dummy% < 95, dummy% + 32, dummy% + 105) Code_128_B = Code_128_B & Chr$(dummy%) i% = i% + 2 Else 'We haven't 2 digits, switch to table B Code_128_B = Code_128_B & Chr$(205) tableB = True End If End If If tableB Then 'Process 1 digit with table B Code_128_B = Code_128_B & Mid$(Number2Func, i%, 1) i% = i% + 1 End If Loop 'Calculation of the checksum For i% = 1 To Len(Code_128_B) dummy% = Asc(Mid$(Code_128_B, i%, 1)) dummy% = IIf(dummy% < 127, dummy% - 32, dummy% - 105) If i% = 1 Then checksum& = dummy% checksum& = (checksum& + (i% - 1) * dummy%) Mod 103 Next 'Calculation of the checksum ASCII code checksum& = IIf(checksum& < 95, checksum& + 32, checksum& + 105) 'Add the checksum and the STOP Code_128_B = Code_128_B & Chr$(checksum&) & Chr$(211) End If End If Exit Function testnum: 'if the mini% characters from i% are numeric, then mini%=0 mini% = mini% - 1 If i% + mini% <= Len(Number2Func) Then Do While mini% >= 0 If Asc(Mid$(Number2Func, i% + mini%, 1)) < 48 Or Asc(Mid$(Number2Func, i% + mini%, 1)) > 57 Then Exit Do mini% = mini% - 1 Loop End If Return End Function
Bin ein dilettantischer Programmierer Natürlich muss der ttf installiert sein. Ich hab im Teil/Baugruppe die Dateieigenschaft "Number" zum auslesen. "Barcode" wird als Dateieigenschaft geschrieben. Die lese ich in der Zeichnung als Beschriftung mit der Schriftart "Code128" aus. ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 09. Feb. 2015 21:36 <-- editieren / zitieren --> Unities abgeben:
|
EC-Jens Mitglied Konstrukteur
Beiträge: 48 Registriert: 04.05.2010 Dell Xeon(R) CPU E-2286G W10 1909 64GB Ram NVIDIDA Quadro P2200 SWX 2019 SP5.0 SolidWorks Enterprise PDM
|
erstellt am: 10. Feb. 2015 09:32 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Es funktioniert schon mal grundlegend, jedoch sollte unbedingt ein Force Rebuild rein damit die Variablen auch aktualisiert werden, oder aber Eigenschaft erst löschen dann neu erstellen beim Lesen des Barcodes tritt der Effekt auf das er sich ab und an nicht lesen lässt, insbesondere wenn der Barcode im "Blattformat" steht ------------------ ----------------------------- der frühe Vogel kann mich mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
GrünesTelefon Mitglied Konstrukteur
Beiträge: 156 Registriert: 14.06.2005 SW2016 SP5.0 auf W7 64bit
|
erstellt am: 10. Feb. 2015 09:56 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Guten Morgen! Bei uns sind schon eine ganze Weile die Zeichnungsnummern auch als Barcode auf den Zeichnungen. Einfacher Text ("Bezugshinweis") mit folgendem Inhalt
Code: *$PRPSHEET:"SW-Dateiname(File Name)"*
(bei uns Dateiname=Zeichnungsnummer) Man beachte die Sternchen! Schriftart: IDAutomationHC39M Habe es eben getestet - wird auch von meinem Handy am Bildschirm gelesen. In der Fertigung wird damit ebenfalls gearbeitet. Ich weiß zwar nicht ob das mit Code128 kompatibel ist, aber vielleicht hilft es ja trotzdem weiter. Nachtrag: Müsste Code39 sein. ------------------ MfG -GrünesTelefon- [Diese Nachricht wurde von GrünesTelefon am 10. Feb. 2015 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 11. Feb. 2015 17:02 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Zitat: Original erstellt von amayer1983: ...die dumme Frage:...
Sicher?
- Code im Browser markieren
- Strg+c
- Extras->Makro->Neu...
- Namen vergeben
- Im Fenster, das sich geöffnet hat mit Strg+a (alles markieren) und "Entf" Taste drücken
- Dann Strg+v
... @Jens: Danke für die Rückmeldung, Forced Rebuild und "vorher löschen" ist auch schon "drin" @GT: Code 39 funktioniert hier leider nicht Dann bräuchte ich kein Makro
------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EC-Jens Mitglied Konstrukteur
Beiträge: 48 Registriert: 04.05.2010 Dell Xeon(R) CPU E-2286G W10 1909 64GB Ram NVIDIDA Quadro P2200 SWX 2019 SP5.0 SolidWorks Enterprise PDM
|
erstellt am: 13. Feb. 2015 10:18 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
gängiger Weise ist der erzeugte Text dann im Blattformat zu finden hier habe ich das Phänomen das der erzeugte Barcode geometrisch verzerrt ist (ca. 5% verkürzt) und beim auslesen Probleme bereitet ------------------ ----------------------------- der frühe Vogel kann mich mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
TestMitglied Mitglied
Beiträge: 82 Registriert: 15.06.2005 Nur so zum Test
|
erstellt am: 13. Feb. 2015 11:40 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Zitat: Original erstellt von EC-Jens: ...Blattformat...das Phänomen das der erzeugte Barcode geometrisch verzerrt ist (ca. 5% verkürzt) und beim auslesen Probleme bereitet
Hier funktioniert alles Sogar bei den Kopien... Der obere Barcode ist auf dem Blattformat, der untere auf dem Blatt... 2013 SP4, WIN 7 64Bit ------------------
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
StefanBerlitz Guter-Geist-Moderator IT Admin (CAx)
Beiträge: 8756 Registriert: 02.03.2000 SunZu sagt: Analysiere die Vorteile, die du aus meinem Ratschlag ziehst. Dann gliedere deine Kräfte entsprechend und mache dir außergewöhnliche Taktiken zunutze.
|
erstellt am: 16. Feb. 2015 08:19 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Hallo EC-Jens, Zitat: Original erstellt von EC-Jens: hier habe ich das Phänomen das der erzeugte Barcode geometrisch verzerrt ist (ca. 5% verkürzt) und beim auslesen Probleme bereitet
Ich vermute, du hast die Beschriftung mit diesem verzerrten Barcode mittels "Text anpassen" auf eine bestimmte Breite gezogen, damit der irgendwie ins Schriftfeld passt (das kannten wohl ein paar Leute, die von AutoCAD gewechselt haben). Ich hab dir mal ein Video davon gemacht. Also einfach den Haken bei "Text anpassen" für deinen Barcode rausnehmen, dann sollte der sich immer in der richtigen Breite darstellen, unabhängig von der Anzahl "Buchstaben". Ciao, Stefan ------------------ Inoffizielle deutsche SolidWorks Hilfeseite http://solidworks.cad.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
EC-Jens Mitglied Konstrukteur
Beiträge: 48 Registriert: 04.05.2010 Dell Xeon(R) CPU E-2286G W10 1909 64GB Ram NVIDIDA Quadro P2200 SWX 2019 SP5.0 SolidWorks Enterprise PDM
|
erstellt am: 17. Feb. 2015 09:13 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
Hallo Stefan Danke für das Video. Ben Befehl kenne ich und habe ihn nicht verwendet, die unterschiedlichen Längen entstehen automatisch in unseren seit langem verwendeten Schriftfeldern, als ob da eine Skalierung drin wäre. Wo der Schalter dafür ist, habe ich noch nicht gefunden. Die verwendeten Schriftfeld Blöcke sind im Faktor 1 ------------------ ----------------------------- der frühe Vogel kann mich mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
solas Mitglied
Beiträge: 461 Registriert: 11.02.2010 Kämpft mit BIM IFC
|
erstellt am: 17. Feb. 2015 21:20 <-- editieren / zitieren --> Unities abgeben: Nur für amayer1983
|
amayer1983 Mitglied
Beiträge: 195 Registriert: 12.03.2013 Notebook: HP 8770w I7, 16Gb 3000M SWX / EPDM 2016
|
erstellt am: 18. Feb. 2015 09:07 <-- editieren / zitieren --> Unities abgeben:
|