Autor
|
Thema: VBA-Programmierung in TurboCAD (7458 mal gelesen)
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008
|
erstellt am: 23. Jan. 2012 10:21 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, wie unter http://ww3.cad.de/foren/ubb/Forum23/HTML/002975.shtml angekündigt, möchte ich hier eine neuen Thread starten, unter dem es um die notwendigen Schritte zur Nutzung von "Visual Basic for Applications" (VBA) unter TurboCAD gehen soll. Zum Start zitiere ich aus obigem Thread: "Obwohl es schon X-mal erläutert wurde - VBA wird nach wie vor von TC unterstützt ... Richtig ist, dass es seit V12 keine TC-eigene VBA-IDE (integrated development environment) mehr gibt. Wenn wir von einer Schnittstelle sprechen, dann ist es die COM-Schnittstelle von TC, implementiert in der IMSIGXnn.dll, auf die über alle möglichen Programmiersprachen (VBA, VBscript, VB, C++, aber z.B. auch AutoIt) zugegriffen werden kann. Es muß lediglich in der betreffenden IDE ein entsprechender Verweis auf die COM-Schnittstelle hergestellt werden. Für die Programmentwicklung problematisch ist allerdings, dass nach der Einbindung der COM-Schnittstelle zwar die gesamte TC-Funktionalität für die Programmierung zur Verfügung steht, aber keinerlei Hilfe ..." Soweit die Aussage von PSblnkd. Ich habe bei mir nun Visual Studio Express 10 von Microsoft installiert. Wenn ich dort ein neues Projekt als "Klassenbibliothek" eröffne und unter "Projekt -- Verweis hinzufügen" den Reiter "COM" öffne, so finde ich unter der Liste nicht das IMSIGXnn.dll, was ich erwartet hätte. Was mache ich da falsch? Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
RexDanni Moderator
Beiträge: 2017 Registriert: 06.06.2000 TurboCAD V2020/21 Pro Platinum German Workstation HP Z4 G6 Intel Xeon W2123 3,6GHz, 8,25 MB 16GB DDR4 SDRAM 256 HP T Turbo Drive PCle SSD Windows 10 pro 64 for Workstations NVIDIA Quadro M4000 8GB
|
erstellt am: 23. Jan. 2012 11:01 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008
|
erstellt am: 23. Jan. 2012 11:11 <-- editieren / zitieren --> Unities abgeben:
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 23. Jan. 2012 22:43 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 24. Jan. 2012 08:51 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@jossie IMSIGXnn.dll ist nur der Name der DLL. Das von dieser Libary exportierte COM-Objekt heisst z.B. "TurboCAD v4.1 Programmable Objects" (TC10.1, in anderen TC-Versionen vielleicht etwas anders) und das findest Du dann auch in der COM-Liste, jedenfalls unter MS Visual Basic 2005 Express Edition. Wie das in den anderen Programmiersprachen vom MS Visual Studio (.net) geht, habe ich noch nicht ergründet. Nach einigen Versuchen mit MS-VB.net war mir das zu kompliziert und unübersichtlich - im Vergleich z.B. mit EXCEL-VBA. Über die Vor- und Nachteile ist hier schon viel geschrieben worden, so dass ich auf weiteres verzichte. Leopoldi hat in seinem Sceenshot das TC-Objektmodell auflisten lassen, so ähnlich wie es in der TC-eigenen IDE auch ging -> http://ww3.cad.de/foren/ubb/Forum229/HTML/000039.shtml, pdf im letzten Beitrag. Ob man damit als Anfänger weiter kommt, wage ich zu bezweifeln. Mit AutoIt geht m.E. die Programmiererei wesentlich einfacher. Die Programmiersprache ist VB-ähnlich, also im Wesentlichen nichts Neues. In http://ww3.cad.de/foren/ubb/Forum229/HTML/000044.shtml, 4.Beitrag habe ich eine einfache Test-Version eines AutoIt-Projekts bezogen auf TC-Anwendung vorgestellt (Test_Inputbox_TC.zip). Bei weiteren Fragen gern hier im Forum oder direkten eMail-Kontakt. Bitte keine PM - da schaue ich zu selten rein. Besser ist aber zunächst das Tutorial für's TC-SDK lesen (wenn's auch noch nicht vollständig ist) - siehe http://www.ps-blnkd.de/SDK_Inh.pdf. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 24. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 24. Jan. 2012 13:45 <-- editieren / zitieren --> Unities abgeben:
Hallo Leopoldi und PSblnkd, vielen Dank für den Screenshot und den Hinweis auf den tatsächlichen Namen des TC-Objekts. Nun sehe ich im Projektmappen-Explorer die TC-Bibliotheken, allerdings mit einem gelben Warnschild, dessen Bedeutung ich noch rausfinden muss. Mein Objektkatalog sieht nun auch dem im Screenshot schon recht ähnlich. Ich werde jetzt aber erst mal mit VB 10 etwas experimentieren, bis ich damit ein (von TC unabhängiges) Progrämmchen erstellen kann. Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 24. Jan. 2012 14:56 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 24. Jan. 2012 15:49 <-- editieren / zitieren --> Unities abgeben:
Hallo Leopoldi, danke für diese Zusammenstellung. Da auch ich (trotz umfangreicher Programmiererfahrung mit EXCEL-VBA) mit den bisherigen Anleitungen hier im Forum nicht so recht den Einstieg in die Programmierung von TC gefunden habe, begann ich mit diesem Thread, um von klein auf die notwendigen, ersten Schritte herauszufinden. Daher kann ich momentan zu Deiner Auflistung leider (noch?) nicht viel Erhellendes beitragen. Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 24. Jan. 2012 16:25 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 24. Jan. 2012 17:22 <-- editieren / zitieren --> Unities abgeben:
Hallo Leopoldi, vielen Dank für den Link mit dem Beispiel. Das werde ich in Ruhe mal studieren. Das TC-interne VBA existiert nach wie vor! Darauf wurde hier verschiedentlich hingewiesen. Da es mir doch keine Ruhe gelassen hat, habe ich einfach mal ausprobiert, ein in TC aufgezeichnetes Makro in den VBA-Editor von EXCEL zu laden. Folgende Schritte führten schließlich ans Ziel: 1) In einer neuen EXCEL-Mappe die Entwickler-Tools aktivieren 2) Den Visual Basic Editor starten und ein neues Modul und eine Prozedur einfügen 3) Unter Extras - Verweise die "TurboCAD v4.1 Programmable Objects" aktivieren 4) Eine TC-Zeichnung anlegen und die Makro-Aufzeichnungspalette anzeigen. 5) Mausbewegung und Mausklick ausschalten und Aufzeichnung starten 6) Ein Rechteck zeichnen 7) Makroaufzeichnung stoppen und Makro-Code in Zwischenablage kopieren und in die Prozedur im Visual Basic Editor von EXCEL einfügen. 8) In der Zeichnung Reckeck löschen 9) Die Zeile "Option explicit" muss vor den Prozeduraufruf gezogen werden. 10) Unter "Debuggen" das Projekt kompilieren zeigt, dass es fehlerfrei ist. 11) Auf "Makro ausführen" (grüner Pfeil) drücken Heureka,es funktioniert! In der Zeichnung wird nun das gerade gelöschte Rechteck wieder gezeichnet. Damit habe ich nun ein VBA-Skript, das ich ändern und erweitern kann. Die Dokumentation der TC-Kommandos habe ich allerdings noch nicht gefunden. Die müssen ja irgendwo beschrieben sein. Das Programmier-Handbuch aus Version 4, das ich noch besitze, ist leider so nicht anwendbar. Es ist für "Enable Basic". Aber die "Programmable Objects" sind laut Namen v4.1 ??? Bleibt nun herauszufinden, wie das ganze in Visual Studio 10 funktioniert und wie man dll's oder exe-Files erzeugt, die man aus TC heraus aufrufen kann. Hier hilft sicher PSblnkd's Tutorial weiter. Nun aber ganz großen Dank an alle hier im Forum, die mir mit Ihren Hinweisen, auf die Sprünge geholfen haben. Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 24. Jan. 2012 18:12 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 24. Jan. 2012 22:26 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 24. Jan. 2012 22:28 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 24. Jan. 2012 23:52 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Wau, danke das nenn ich ja mal eine konstruktive und umfangreiche Erläuterung. mfg. Leopoldi P.s. Mit Excel2010-VBA läufts auch bei mir. Die Aufzeichnung bzw. Wiedergabe von Text (Hello World) funktioniert allerdings schon mit dem TC-Makrorecorder nicht. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 25. Jan. 2012 07:10 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 25. Jan. 2012 09:28 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@jossie "Das TC-interne VBA existiert nach wie vor!" Das ist nicht korrekt - in TC gibt es kein "internes VBA", sondern lediglich eine COM-Schnittstelle, auf die man auch mit VBA-Mitteln (z.B. EXCEL Prof.) darauf zugreifen kann. Auch die bis zu TC10.5 mitgelieferten VBA-IDE war solch ein Mittel und selbstverständlich ist auch MS Visual Studio mit den Programmiersprachen VB, C++ usw. solch ein Mittel. VB.net (übrigens auch das alte VB6) hat aber den Nachteil, dass der gesamte "Overhead" mitgeschleppt werden muß - das Framework, bzw. die Runtime-Datein. Problematisch wird es allerdings bei der Erstellung von DLLs, die als weiterer Menüpunkt in die TC-Menustruktur eingebunden werden sollen. Jedenfalls ist mir bislang nichts Brauchbares in dieser Richtung gelungen - siehe http://ww3.cad.de/foren/ubb/Forum229/HTML/000039.shtml. Wahrscheinlich liegt es an der .Net-Technologie des VS, mit der nur "Matched Code" erzeugt werden kann. Mit C++ soll es zwar auch möglich sein "Unmatched Code" zu erzeugen, aber das ist ein besonders schwieriges Thema. @devo Also, da muß ich doch mal eine Lanze für "AutoIt" brechen. Das ist eben nicht nur ein "kleines Skript-Programm", wo man mal ein paar Aufgaben automatisieren kann, so wie Du schreibst. Nein - es ist eine vollwertige IDE, womit man auch anspruchsvolle Vorhaben programmieren kann - siehe http://www.autoit.de/index.php?page=Thread&threadID=20968 Zum Einstieg sei der Code von "Test_Inputbox_TC.au3" empfohlen, welcher in der Zip auf http://ww3.cad.de/foren/ubb/Forum229/HTML/000044.shtml - 4.Beitrag enthalten ist (kann man sich mit einem normalen Editor ansehen, ohne die AutoIt-IDE zu bemühen). Allerdings sind dort noch viele redundante Bestandteile vorhanden, die vielleicht den Einsteiger zunächst etwas verwirren. Durch Ausführung der exe-Datei (compilierte .au3) kann festgestellt werden, dass es keine Geschwindigkeitsprobleme gibt (außer beim Start, wenn TC noch nicht läuft und erst im Hintergrund "hochgezogen" werden muß. Es muß nichts installiert werden (Doppelclick reicht) und es werden keine zusätzliche Libarys benötigt. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 25. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 25. Jan. 2012 09:32 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen zusammen, Mike, vielen Dank für die Erläuterungen zu Leopoldis Fragen sowie das ZIP-File mit den PDFs. Hilft auch mir für mehr Klarheit! Um die Verwirrung zu erhöhen: Bei der Installation von TC17 wurde bei mir unter C:\Program Files (x86)\IMSIDesign\TCWP17\SDK\Docs die Datei tcsdk.chm abgelegt, die aber mit der Version aus dem US-Forum nicht identisch ist! Laut Datum stammt die TC17-Datei vom 26.6.2009, meine Version aus dem US-Forum hat ein Änderungsdatum vom 27.3.2010. Bis bald, beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 25. Jan. 2012 10:21 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 25. Jan. 2012 15:48 <-- editieren / zitieren --> Unities abgeben:
Hallo zusammen, nun wollte ich heute den nächsten Schritt machen und mein einfaches TC-Makro, das ein Rechteck zeichnet, in Visual Basic (2010 Express) einbauen. Leider hat mein Ansatz, den ich in gleich naiver Weise wie gestern bei EXCEL-VBA versucht habe, hier nicht funktioniert: Ich hatte einfach den Makro-Code in ein Projekt kopiert, Vor- und Nachspann etwas editiert und unter "Projekt -- Verweis hinzufügen" unter dem COM-Reiter alle dll's von IMSI eingebunden. Dennoch findet er die TC-Kommandos, im Gegensatz zum EXCEL-VBA, nicht. Ich habe mal die Fehlermeldungen in ein PDF gepackt. Mit den Fehlern Nr. 1, 2 und 82 kann ich ganz und gar nichts anfangen. Der Rest dürfte wohl Folgefehler sein. Meine Frage an die Experten: Funktioniert der TC-Makro-Code prinzipiell unter VB 2010 nicht? Sollte das der Fall sein, dann bräuchte ich mich nicht weiter abzumühen. Wenn doch, dann mache ich wohl in meiner totalen Unkenntnis der VB-Interna etwas falsch und muss erst mal Nachhilfe nehmen. Großen Dank schon im Voraus! Hermann-Josef PS: Bitte die 2. Zeile im Code "Imports IMSGX" ignorieren. Mit und ohne passiert das Gleiche. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 25. Jan. 2012 17:06 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Hermann-Josef da müssen wir mal in das US Beispiel schauen. Alle .net Programme basieren auf den Klassenbiliotheken von Netframework. Da fehlen evtl. ein paar "Include" Anweisungen. mfg. Leopoldi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 25. Jan. 2012 17:34 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@Hermann-Josef, ich weiß nicht inwieweit sich die Sprachen unter net und die Net klassenbibliothek in den letzen jahren entwickelt haben, früher musste immer noch eine wrapper - dll vorgeschaltet werden, welche die COM aufrufe kapselt und an die net umgebung anpasst. Ich schau mal heute abend ob ich dazu noch was finde. @Leopoldi, bezüglich meiner Aussagen zum macrorecorder muß ich mich korrigieren, ich habe fälschlicherweise behauptet, Inputbox würde da nicht funktionieren. Heute hab ichs mal kurz getestet, und es geht doch - der aufruf scheint formal etwas repressiver zu sein als in normalem vbscript. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 25. Jan. 2012 18:41 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 25. Jan. 2012 20:56 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Leopoldi, zwei Sachen: zu deinem Beitrag - draggers sind add - ons, die gebräuchlichste form davon(es gibt noch filter, paletten, regens und ties). Hier ist das sdk im .doc format zum großen teil fertiggestellt, jedoch ohne die delphi beispiele, weil ich darauf keinen wert lege. ziel war die dokumentation ausdruckbar zu machen hier ca. 500 seiten. gruss mike [Diese Nachricht wurde von devo am 25. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 26. Jan. 2012 09:35 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@jossie "Funktioniert der TC-Makro-Code prinzipiell unter VB 2010 nicht?" - Das hatte ich an anderer Stelle schon mal geschrieben, dass das nur mit diversen Code-Anpassungen geht. Wenn Du die roten Fehlermeldungen der Reihe nach durchgehst - das geht auch mit der Mouse über die mit Wellenlinien unterstrichenen Code-Teile (IntelliSence) - dann kann man die auch beseitigen. Wenn z.B. "bemeckert" wird dass "ActiveDrawing" nicht deklariert wurde, ist klar, dass hier VB keinen Bezug zu diesem Objekt findet. "ActiveDrawing" ist ein Unterobjekt des "Application"-Objekts, welches wiederum den Bezug zur COM-Schnittstelle "IMSIGX" verlangt. Wie gesagt - mir war das ganze Prozedere in VB.net auch viel zu kompliziert und deshalb die Alternative mit AutoIt. Versuche doch mal den Quelltext von "Test_Inputbox_TC.au3" mit Deinem Code zum Zeichnen des Rechtecks zu erweitern (es dürfte sich hierbei um nur wenige Zeilen handeln) und Du wirst sehen es funktioniert. @Leopoldi AddOns sind (in TC) Zusatzfunktionen - keine Applikationen. DLLs sind Programm-Dateien, die nur mit einem Host zusammen funktionieren. Eine Schnittstelle, über die man von außen auf die Funktionalität der DLL zugreifen kann, müssen DLLs nicht unbedingt haben. Die COM-Schnittstelle von TC ist in der IMSIGXnn.dll implementiert und zwar nur dort. Die anderen DLLs - und deren gibt es sehr viele, weil TC ein modulares Programm ist - haben keine COM-Schnittstellen-Funktionalität. Alle Progammierzugriffe - egal über welchen Server das vorgenommen wird (EXCEL, VB usw. oder eigenständige EXE-Programme) erfolgen ausschließlich über diese Schnittstelle. X-beliebig erzeugte DLLs sind i.d.R. nicht geeignet eine TC-Funktionalität zu realisieren. Das geht m.W. n. nur mit sog. "Unmatched Code", welcher noch mit VB6, aber nicht mehr mit VB.net realisiert werden konnte. VC++ (.net) ist fraglich??? Die mit VBCCE5 realisierbaren DLLs funktionieren nicht bei TC. VisualBasic 2008/2010 (VB.net) benötigt die Net.Framework-Libary zusätzlich, d.h. ist nicht in Windows enthalten. Zu VC++ und VC# gibt es Programmbeispiele, die sich aber im Grunde nicht von den VB.net unterscheiden. Das Gleiche gilt für Lazerus (-> Ghostshell). Die Aussagen zu AutoIt solltest Du korrigieren. Die TC-Strukturen sind m.E.n. bzgl. der COM-Schnittstelle, DLLs und EXE nicht korrekt dargestellt -> siehe Erläuterungen oben. Außerdem gibt es, wie devo schon einwand, außer dem "Dragger"-Ordner noch weitere Orte, wo DLLs und/oder EXE eingebunden werden können: filter, paletten, regens und ties. @devo Dein Link "tcsdk4444.zip" funktioniert nicht. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 26. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 26. Jan. 2012 09:49 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@PSblnkd ich habs wieder gelöscht, da ich starke lizenzrechtliche bedenken hab - du musst nur mal die ersten paar seiten in der hilfe lesen zwecks copyright und veröffentlichung ohne... an die hilfe .chm kommt man ja auch nur nach registrierung ran. ich stells nochmal heute zwischen 21 und 22 uhr rein wers dann verpasst nur noch per pm ist wie gesagt noch lange nicht fertig, aber schon mal die ursprünglichen 9mb auf knapp 5 reduziert, das spart hoffentlich manchen einige arbeit gruss mike
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 26. Jan. 2012 10:50 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo mike - danke . Eine tcsdk.chm steht auch in meinem Programmordner. Ist diese identisch mit deiner? (s.Anlage) Interessehalber: Welches Tool kann man nutzen um die chm zumindst in eine rtf zu konvertieren? Ich habe "Visitor" versucht, kann jedoch keine .chm laden. Eine Software von Brother setzt mir gleich ein Taskbar in den Explorer; dabei habe ich allerdings (auch) nicht den Durchblick gehabt. mfg. Leopoldi P.s.: Schön wäre unten mittig eine einfache Seitenzahl einzufügen, falls mal im Forum ein Hinweis auf eine Textstelle erfolgt. Das erspart mühsames suchen. Die Seitenränder oben/unten habe ich versuchsweise auf 2cm und links/rechts auf 2,5; dabei komme ich dann auf 497 Seiten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 26. Jan. 2012 10:57 <-- editieren / zitieren --> Unities abgeben:
@PSblnkd Danke für die Erläuterungen. Wenn ich Dich recht verstehe, dann sollte der TC-Code (nach entsprechender Anpassung) unter VB2010 im Prinzip (nach Code-Anpassungen) laufen. Das war ja meine grundlegende Frage. .Net Framework 4 habe ich auf meinem Rechner installiert. Ich verstehe allerdings Deine Aussage nicht, dass "...ist klar, dass hier VB keinen Bezug zu diesem Objekt findet. "ActiveDrawing" ist ein Unterobjekt des "Application"-Objekts, welches wiederum den Bezug zur COM-Schnittstelle "IMSIGX" verlangt." Ich dachte, der angelegte Verweis erledigt genau das??? Aber das gelbe Warndreieck signalisiert offenbar, dass er IMSIGX nicht findet. Bevor ich VB ganz aufgebe und auf AutoIt umsteige, möchte ich das noch soweit abklären. @Mike Mal sehen, ob ich heute abend daran denke ... Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 26. Jan. 2012 11:53 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Hermann-Josef zu Deinem Threaderöffnungsposting: >> ... die notwendigen Schritte zur Nutzung von "Visual Basic for Applications" (VBA) unter TurboCAD gehen soll. << VBA war eine Programmentwicklungsumgebung für die IMSI Lizenzgebühren an Microsoft zahlen musste. In jeder Version wohl neu. Das haben die leider eingestellt. Von daher : VBA in TC geht definitiv nicht (mehr). Ich bin dann irgendwann auf VB6 umgestiegen. Vorteil von VB6 gegenüber VB.net: den Code von VBA innerhalb TC (bis Version 11) konnte ich dabei zu 99% übernehmen. (nur bei den "Forms" musste man Anpassungen machen) VB6 referenziere ich Project\references\turboCAD 4.1 Programmable Objects dann ist die IMSIGXxx.dll in die Projektentwicklungsumgebung von VB6 eingebunden. Jenachdem welche VB6 version Du hast kannst Du .exe (langsam) oder .dll (schnell) erzeugen. zu Visual Studio Express 10 kann ich nichts sagen, das ist VB.net AUTOIT ist gut. Es hat seine Stärken bei der Benutzung der Windowsoberfläche. Die Steuerung von TC mittels sendkeys funktioniert mittels AUTOIT sehr zuverlässig. Wenn ich das mittels VB6 probierte waren die Ergebnisse sehr sehr unzuverlässig. AUTOIT kann die Verbindung zur TC herstellen. Die erzeugten .exe sind aber langsam. (im US-forum hab ich mal nen Geschwindigkeitsvergleich gepostet http://forums.turbocad.com/index.php/topic,4034.0.html Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 26. Jan. 2012 12:59 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008
|
erstellt am: 26. Jan. 2012 15:16 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, vielen Dank für die Klarstellung. Auch PSblnkd hatte schon auf meine, ich will mal sagen, falsche Ausdrucksweise bzg. TC und VBA hingewiesen. Was ich gemeint hatte war, dass der mit dem Makro-Recorder aufgezeichnete TC-Code z.B. unter EXCEL-VBA (nach geringfügigen Änderungen) lauffähig ist. Es gibt also weiterhin eine Programmiersprache, die man zur Steuerung von TC nutzen kann und für kleinere Aufgaben durchaus hilfreich sein kann. Mehr wollte ich damit nicht ausdrücken. Das ursprüngliche TC-VBA wird natürlich nicht mehr unterstützt, z.B. über die Benutzeroberfläche zur Programmentwicklung. Vielen Dank für die Charakterisierung von AutoIt. Wenn ich das mit VB2010 nicht hinbekomme, oder es zu umständlich wird, dann werde ich wohl in diese Richtung umschwenken. Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 26. Jan. 2012 15:23 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Leopoldi m.E. ja. Ich kann z.B. TC-Objekte zeichnen mit vorgegeben Koordinaten, aber auch Objektkoordinaten auslesen. Im Dateianhang hab ich noch was für Deine, wiederum sehr gute Hilfedatei, SDKs in Turbocad.pdf Gruß Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 26. Jan. 2012 18:00 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Bernd ich habe deine pdf in den Anhang aufgenommen. @alle Ich muss das Ganze noch einmal in Ruhe durchgehen und alle Anmerkungen aus den Beiträgen abhaken. Sinnvoll wäre noch eine gegliederte Quellenangabe für Dokus oder Beispiele. Bitte ggf. Links mitteilen und einmal durchschauen was ich falsch verstanden bzw. aufgeschrieben habe. Danke. Die Frage nach der Bidirectinalität auch deshalb, weil es ja schön wäre zum Bsp. einen parametrischen Hängeschrank zu ändern und die Fertigungszeichnungen im Papierbericht zu aktualisieren. Dabei sollte auch eine "Abschnitttszeichnung" zur späteren Gewinnung von CNC-Frädaten erstellt bzw. aktualisert werden. Ob so was möglich ist ????? mfg. Leopoldi [Diese Nachricht wurde von Leopoldi am 26. Jan. 2012 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 26. Jan. 2012 21:04 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Anbei nochmals die hilfedatei, die aktuelle ausgabe vom 26.03.2010, mittels einer testversion namens amber... auf rtf und dann doc umgesetzt und mangels eigenem interesse den delphi code gelöscht. wenn daran jemand interesse hat, per pm oder email nachfragen, ich habe noch einige zwischenversionen bei denen das noch drin ist. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 27. Jan. 2012 10:36 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
jossie Mitglied Astronom im Ruhestand
Beiträge: 360 Registriert: 21.03.2008 TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000
|
erstellt am: 27. Jan. 2012 11:10 <-- editieren / zitieren --> Unities abgeben:
Guten Morgen an alle! Die formalen Probleme mit VB 2010 scheine ich nun gelöst zu haben. Der Fehler in den Screenshots vom 25.1. kam dadurch zu Stande, dass ich Visual Studio 2010 zuerst installiert hatte und danach erst MS Windows SDK und .NET Framework. Dadurch waren Zeiger nicht korrekt. Visual Studio nochmals drüber installiert und es geht. Die TC-Kommandos werden nun erkannt. Soweit so gut, und erst mal ganz herzlichen Dank in die Runde für Eure Hinweise, ohne die ich das nicht so hinbekommen hätte. Mein Hauptziel mit diesem Thread habe ich erst mal erreicht, dass nämlich sowohl der Einstieg in TC-Programmierung via EXEL-VBA als auch die Grundlage für das Einbinden in VB2010 aufgezeigt wird. Die Fehler die ich jetzt gemeldet bekommen, hängen mit meiner Unkenntnis der TC-Kommandos und von VB.NET zusammen und ich werde ich erst mal in aller Ruhe damit befassen müssen. Für kleine Anwendungen funktioniert erst mal der Weg über EXCEL. Eines möchte ich der Vollständigkeit noch erwähnen: Die Verweise auf "TurboCAD Programmable Objects" sowohl in EXCEL-VBA als auch VB 2010 einzuführen, erfordert (zumindest in meiner Installation) Administratorrechte. Normalerweise habe ich die im Alltagsgeschäft nicht. Daher fiel mir das noch auf. Beste Grüße Hermann-Josef Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009
|
erstellt am: 27. Jan. 2012 16:33 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Es gibt einen neuen Zwischenstand - quasi eine Betaversion der Beschreibung Vieleicht kann ich noch ein paar Infos haben: Zu 2.1.1 TCad Script Centre - Was macht das genau? Wird das Script hier umgesetzt für einen Betrieb über die com-Schnittstelle? Zu 2.3.1 Gibt es Einschränkungen in den Versionen von VB5 oder 6 Zu 2.3.6 Hilfe - Ich brauche noch Input zu AutoIt Ich werde AutoIt installieren, aber im Moment habe noch gar keine Übersicht was ich erstellen kann. vbs, dll´s, exe ???? mfg. Leopoldi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 27. Jan. 2012 16:35 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
...und damit Ihr am Wochenende was zu tun habt - hier eine kleines Programmierbeispiel in AutoIt für TC. In der zip sind Quelltext mit umfangreichen Erläuterungen und die exe, so dass Ihr das nicht nur nachvollziehen, sondern auch eigene Programmierversuche unternehmen könnt. Das von Bernd vorgebrachte Geschwindigkeitsmanko konnte ich nicht feststellen - jedenfalls bei so einem einfachen Projekt. Übrigens muss man nicht immer gleich eine Exe erzeugen - die Lauffähigkeit kann auch über das Go-Kommando geprüft werden. Bei Problemen bleibt der Compiler dann in der entsprechende Zeile stehen und gibt eine Fehlermeldung aus. Viel Freude beim Vermehren von bisher unbekannten Einsichten! Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 27. Jan. 2012 16:41 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 27. Jan. 2012 19:55 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Leopoldi zu 2.1.1 Skripte / Quelltexte .vbs können mit einem simplen Texteditor geschrieben werden. Zu nennen sind hier der einfache Windows Editor und die kostenlosen Editoren wie Notepad++ und PSPAD. In PSPAD können zudem die Skriptsprachen VB und VBScript zur Syntaxprüfung eingestellt werden. Dabei muss man natürlich selbst auf eine Konformität zum TurboCad-Sprachraum achten. PSPAD dokumentiert ebenfalls Funktions- und Prozedurköpfe. In so geschriebenen VisualBasic-Skripten sind Eingaben per Inputbox und Parameterübergaben möglich. Unter VBS erstellte Makros können im TurboCad-Makrorecorder geöffnet werden jedoch auch extern gestartet werden. Dabei sollte jedoch eine TurboCad-Zeichnung geöffnet sein. Eine Abfrage ob dies der Fall ist oder eine TurboCad-Zeichnung geöffnet werden soll, kann im Skript geschrieben werden. Für Scriptexperten: Zu empfehlen ist das TCAD Script Centre von David Bell. Vorteil: Massiver Performancegewinn gegenüber dem Makrorecorder und extern gestarteten Skripten. Nachteil: Nachbearbeitung der Skripte für eine dem Script Centre angepasste Form. ----------------- >> Unter VBS erstellte Makros können im TurboCad-Makrorecorder geöffnet werden<< m.E. nicht richtig. Problem bei VBS-scripten: die Programmentwicklungsumgebung prüft die Sysntax nicht, und es gibt nicht die Möglichkeit der Variablenüberwachung. Die erzeugten Fehlermeldungen sind nichtssagend und lassen den Programmierer bei der Fehlersuche allein. zu Zu 2.3.1 Gibt es Einschränkungen in den Versionen von VB5 oder 6 Nein. VB6 läuft sogar noch unter Win7 Prof 64 bit. Die entwickelten Programme sind aber "nur" 32-bit. Es gab unterschiedliche Versionen: sowas wie heute noch Express, d.h. es war kostenlos. Umfang dieser Version ist mir unbekannt. Standard Version: kann .exe erzeugen Professional Version: kann .dll erzeugen Enterprise Version: kann geschützte (also verkaufbare) .dll erzeugen (ich meine die heißen dann .ocx)
zu 2.3.6 hatte ich Dir bereits eine PM gemailt. Gruß Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 27. Jan. 2012 22:39 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Bernd, wenn ich Skripte nicht über den Makrorecoder nutzen kann gibt es ja keine Auswertung in TurboCad. Ergo kann man das Skript (Quellcode/Source) auch gleich in einer entsprechenden Anwendung schreiben (VBxxxx,VBA,AutoIt etc.) und benötigt an sich keinen Editor wie PSPad, Notepad u.a.. Oder übersehe ich jetzt was wichtiges? mfg. Leopoldi Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 27. Jan. 2012 23:41 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Leopoldi ich meine das sind 2 Paar Schuhe. Makrorecorder - wird als .tcr abgespeichert. wenn ich nun Code aus dem mitgelieferten .vbs - script z.B. Autoload0001_SelectAllGraphics.vbs ------------------------------------------------------------- Class SelectAllGraphics '============================================================ ' Put your Button descriptors here '------------------------------------------------------------ Private Sub Class_Initialize
ScriptType = "vbs" ThisClassName = "SelectAllGraphics" '(Must be the same as class statement above) ToolTipText = "Select All Graphics" ImageURL = "ButtonImages\Misc05.GIF" LinkURL = "" End Sub '------------------------------------------------------------ '============================================================ ' Place actual script in this sub (do not rename) '------------------------------------------------------------ Public Sub ExecScript Dim ActiveDrawing Set ActiveDrawing = Application.ActiveDrawing ActiveDrawing.Graphics.Select ActiveDrawing.Views.Item(0).Refresh End Sub '------------------------------------------------------------ '============================================================ ' This parts same for all classes. Do not change !!!! '------------------------------------------------------------ public ThisClassName public ToolTipText public ImageURL public LinkURL public ScriptType '------------------------------------------------------------ End Class --------------------------------------------------------------------------------- in das Makrorekorderfenster reinkopiere und das Makro starte passiert nix. Hingegen wenn ich den Code als .vbs im scripcenter starte, werden alle Graphics in der Zeichnung selektiert. also m.E. Makrorekorder hat ne eigene Syntax und greift auf seine eigene Weise auf die Programmiersschnittstelle von TC zu. .vbs hat wiederum eine eigen Syntax und hat ebenfalls eine eigene Verbindung zur Programmiersschnittstelle von TC. Beide haben sie gemeinsam: - die Programmierumgebung ist wenig hilfreich - es sind reine Interpreter.
Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 28. Jan. 2012 01:54 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@Bernd @Leopoldi zum script centre: 2001 haben die tcad entwickler - softdev aus st.petersburg - ein sogenanntes scripts pack veröffentlicht. Die dateien sind glaube ich immer noch auf den aktuellen Programm cds zu finden. Installiert meistens unter ...\Sdk\Samples\Vbs. das SCriptspack besteht aus dem HtmlScriptPack und dem WshScriptPack. Im HtmlScriptPack befinden sich dateien mit html-Code (logisch), gemischt mit VBS scripten. Technisch wird so etwas von Microsoft "scriptlet" genannt. Anstelle von vbs könnte in den meisten fällen auch javascript verwendet werden. Das Pack selbst hat eine schnelle schnittstelle zu turbocad ( in der datei StTC.htm ) und wird anstelle der vorhandenen datei palette.htm im ordner Internet gespeichert. Das Ganze hat damals mehr schlecht als recht funktioniert und wurde dann nachdem IMSI in der V11 VBA gedroppt hatte von David Bell mit einem Autoloader versehen. Dieser erkennt beim Laden die Skripte anhand eingebauter Klassenbeschreibungen und lädt sie in die Skriptumgebung wo die skripte mittels zugewiesener .gif dateien als Buttons erscheinen und gestartet werden können. Das ganze ist jedoch keine wie auch immer geartete IDE - die Skripte müssen vorher entwickelt werden - im Editor nach Wahl - und wenn sie laufen formal an die ScriptCenter umgebung angepaßt werden. Der Vorteil ist folgender: Durch Shift - Ctrl - N bin ich sofort im Script center und kann die werkzeuge durch Drücken der Buttons aktivieren. Die Umgebung ist für Programmierfehler nicht so absturzgefährdet wie dlls im Draggers ordner. Allein das Selection Info werkzeug der Tcad Entwickler ist es schon wert sich damit zu beschäftigen - man kann damit hervorragend herumspielen und die internen Ebenen der TCAD Objekte erkunden. ausserdem ist dafür wie auch für die anderen Tools der gesamte Quellcode einsehbar. Ein anderes klasse Werkzeug ist das Curvelab mit dem man mathematisch definierte Kurven konstruieren kann. Zum Thema Performance: ich habe das Parabel script von Ty Harness mal ans ScriptCenter angepasst - 5000 linien und 10000 Zahlen als Beschriftung auf einem 2,8 gHz P4 sollten so schlecht nicht sein... Im Makrorecorder wird VBS Code verwendet, gelegentlich ist er ohne Modifikation genau wie VBS dateien lauffähig. Als Alternative zum entwickeln teste ich gerade vbsedit. Kann wohl als Evulationsversion unbefristet mit eingeblendeten Wartezeiten benutzt werden und bietet wohl Unterstützung wie objekteigenschaften usw. Kostenpunkt ca 60 USD. Sehr gut soll auch der Systemscripter von tobias weltner sein, volle unterstützung von COM, braucht jedoch zum laufen die .net umgebung. Kosten 59€ + MWSt. Testbar 45 tage lang. @Bernd Die Aussage dass VBS im Makrorecorder nicht geöffnet werden können stimmt so nicht. Beim Dateiöffnen kann man neben dem .tcr format auch .vbs auswählen. Die Umgebung ist allerdings wesentlich weniger robust als der Windows script host. ich habe gestern mal kurz ein script für blechi(mitte paralleler linien) geschrieben welches im macrorecorder das ganze turbocad zum absturz bringt. Der Unterschied zwischen Enterprise und Pro version ist nicht technisch - das ist der gleiche compiler. Bei der Enterprise werden recht teure modellierungswerkzeuge für unternehmensweite informationssysteme in client-server architektur mitgeliefert. .ocx ist eine microsofttypische namensverklausulierung: war als der grosse activeX hype ausbrach, die dateikennung von sogenannten zusatzsteuerelementen also .dlls mit eigener oberfläche, die man nach der Registrierung wie normale steuerelemente laden und auf Anwendungsforms plazieren konnte. Sind mehr oder weniger dlls und können mit der pro version erstellt werden. die .doc Version der hilfe habe ich wie ich geschrieben hatte wieder entfernt, weil ich keine lust habe wegen lizenzrechtlicher verstöße abgemahnt zu werden. ich schick sie dir per email. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 28. Jan. 2012 01:56 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 28. Jan. 2012 10:16 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Wau - Infos bis zum abwinken Das muss ich mal in Ruhe durcharbeiten. Deine "Mitte Parallele.vbs" funktioniert in TC17 prima. Nun muss ich aber meine Vorstellung von der Com- Schnittstelle überdenken: Für welche Dateitypen ist diese denn generell offen?? Es muss ja auch ein vbs- Interpreter vorhanden sein. Greifen .exe überhaupt auf die com-Schnittstelle zu (siehe 3.) oder greifen sie -quasi als Master- direkt auf TurboCad Funktionen und auf den "Objektspeicher" zu?? Als ehemaliger Assembler- und Spaghetticode-freak und fast 25 Jahre im Aus sprengen heutige modulare Konzepte oftmals meine antiquierte Gedankenwelt mfg. Leopoldi P.s. müsste "If TCSel.Count < 1 Then" nicht < 2 sein? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010
|
erstellt am: 28. Jan. 2012 13:00 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
Leopoldi Mitglied Heimwerker i.R. www.max-mg.de
Beiträge: 1360 Registriert: 16.07.2009 Unter Win10-Pro 64Bit: (TC21)-TC2020 Pro Platinum
|
erstellt am: 28. Jan. 2012 15:19 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
|
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 28. Jan. 2012 15:34 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Mike >>Als Alternative zum entwickeln teste ich gerade vbsedit << danke für den Tip. Werde ich auch mal ausprobieren. Die Webseite macht zumindest den Eindruck, das die Projektentwicklungsumgebung das erfüllt, was mir da bisher fehlte. Thema Geschwindigkeit: bei den meisten Progrämmchen, die ich geschrieben habe und nutze, ist das wurst. Ich setze aber 3 Stück ein, bei denen es entscheidend ist. Hierbei handelt es sich um die Anpassung importierter .dwg-Dateien. Ob ich da 10 Minuten oder 10 sec warten muß ist nunmal entscheidend. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 28. Jan. 2012 18:59 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Mike >>…Allein das Selection Info werkzeug der Tcad Entwickler ist es schon wert sich damit zu beschäftigen<< kann ich bestätigen. Nutze ich oft. jetzt wollte ich vbsedit und Deine Autoload0144_Parabol.vbs mal ausprobieren, scheitere aber leider an Grundsätzlichem. Wenn ich das script "Autoload0001_SelectAllGraphics.vbs" im scriptcenter starte funktioniert es richtig. wenn ich es im vbsedit starte passiert nix. >> …David Bell mit einem Autoloader .. << wenn ich " Autoload0144_Parabol.vbs" in das Verzeichnis … \Internet\VBScripts reinkopiere wird es nicht aufgelistet. wenn ich "refresh" clicke kommt: In dem Skript auf dieser Seite St ein Fehler aufgetreten. Zeile: 52 Zeichen: 1 Fehler: Typen unverträglich: '1NrftePage' Code: LIRL: file:///D:IProgram%20Files%213 {x /I MS 1DesigniTCWP 1 5/Intemet/V9 Schpts/Asto Script Index.hrtm Möchten Sie, dass Scripts auf dieser Seite weiterhin ausgeführt werden? Ja Nah wenn ich "open script file" clicke kommt: Sk ri ptleh I er /II In dem Skript auf dieser Seite ist ein Fehler aufgetreten. Zeile: 112 Zeichen: 1 FehIEr: Typen unverträglich: 'OpenFile Code: URL: file:///D1Program%20Files%20 (x,3611/1r413 I DesigniTCW P 15/Intemet/VB Scriptsikrto Script Index.htm Möchten Sie, dass Scripts auf dieser Seite weiterhin ausgeführt werden? Ja Nein ich nutze Win7 prof 64-bit IE9 Für einen Tip bin ich dankbar. Gruß Bernd
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
devo Mitglied Holzverarbeiter
Beiträge: 366 Registriert: 11.02.2010 dell Latitude E6410 i5, 4 GB Ram, Win 7 TC V6-V10,V16 US; V6,11,12,17-20 D
|
erstellt am: 28. Jan. 2012 23:24 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
Hallo Bernd, habs mal von unrat gesäubert, probiers jetzt nochmal. Das Originalscript was ich reingestellt habe hat nur 108 Zeilen(nach notepad). Zum Scriptcentre generell: diese scripte können nicht vom Windows Script host oder direkt aus einer entwicklungumgebung heraus ausgeführt werden, da sie im scripttext keine ausführbaren Kommandos enthalten. Die Funktionen und subs sind als klassen definiert, der loader generiert per new eine neue instanz und führt diese aus. Die Zusammenhänge (soweit ich sie durchschaue) sind folgende: Der benutzer schreibt ein script, welches fehlerfrei im WSH ausgeführt werder kann dieses script wird formal so umgestaltet, dass es den konventionen des script centre entspricht und im VBScripts verzeichnis gespeichert. der Name des scripts beginnt immer mit "Autoload" und einer vierstelligen Zahl,dazu kommt ein Unterstrich und der eigentliche Scriptname --> Autoload0095_Parabol.vbs Der scriptname ist auch der Name des Klassenstatements, dazu wird ein tooltip text angegeben und der Name der zugehörigen .gif datei für den Button. Beim starten von tcad durchsucht das gespann von autoscriptindex.html und autoscriptindex.vbs das Verzeichnis, scannt die Dateien und schreibt diese infos in der Reifenfolge der vierstelligen zahl in die autoscriptindex.html. Dadurch stehen die Button in der richtigen reihenfolge auf der Seite der internet palette und können ausgeführt werden. Wenns immer noch nicht funktioniert würde ich vorschlagen, entfernen alles nicht notwendigen - Zeitabfrage und Inputboxen, dafür die Eingabezahlen festverdrahtet als Variable. Wenns immer noch nicht läuft, alles auskommentieren und schrittweise wieder freigeben bis der Fehler auftaucht.. anbei auch noch die scripte für deinen dwg test und eine einfache Abfrage der Anzahl der Markierten objekte. gruss mike Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 156 Registriert: 13.03.2009
|
erstellt am: 30. Jan. 2012 12:04 <-- editieren / zitieren --> Unities abgeben: Nur für jossie
@Leopoldi (27.01.2012 16:41) "Test2TC.zip" sollte eigentlich "AutoItTest2TC.zip" heißen - habe ich versäumt richtig zu benennen. Als dieser Thread erfreulicherweise anfing, hatte ich mir vorgenommen nochmal ein mit AutoIt programmiertes Beispiel hochzuladen, bzw. das erste Beispiel "Test_Inputbox_TC.zip" nochmals etwas zu überarbeiten bzgl. der Verständlichkeit. Ich hoffe allen damit entgegengekommen zu sein... Wenn Du Dich intensiv mit COM beschäftigen willst, ist zwar Holger Schwichtenberg schon eine gute Quelle, allerdings m.E. besser sein "COM-Komponenten-Handbuch", erschienen 2001 auch bei Addison-Wesley - fast 800 Seiten ist aber eine schwere Kost! Nachdem nun hier die Resonanz zu SDK-Problemen wieder Erwarten neu erwacht ist, erhebt sich bei mir die Frage, inwieweit es interessant sein könnte, wenn ich die TC-Ergänzung "Tabellengenerator" http://ww3.cad.de/foren/ubb/Forum229/HTML/000010.shtml - mein Beitrag vom 27.09.2010 und vom 13.05.2011 - wieder in die Bearbeitung nehme. Bin sehr gespannt auf Eure Reaktion! Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |