| | | TURBOCAD TRAINING CENTER IN DER UMWELTTECHNIK | Projekt PAMOS und CAMOS , ein Anwenderbericht
|
Autor
|
Thema: Makrorecorder und SDK in TC>10 (2346 mal gelesen)
|
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 18. Mrz. 2013 10:34 <-- editieren / zitieren --> Unities abgeben:
Da ich hier zu Hause nur TC10.1 habe, kann ich folgende Frage nicht beantworten: Inwieweit ist der Makrorecorder in den höheren TC-Versionen überarbeitet worden? Bekannt ist ja, dass schon in V10 die Datenbankfunktionen und einiges Andere (?) nicht unterstützt wurde. Nicht unterstützt heißt, dass diese Funktionen vom Makrorecorder ignoriert werden. Der Makrorecorder ist für mich insbesondere dann von Interesse, wenn nach dem Menü- betreffenden SDK-Befehl gesucht werden muß. Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 24. Mrz. 2013 09:56 <-- editieren / zitieren --> Unities abgeben:
Hat keiner eine Info dazu? Oder werde ich jetzt boykottiert nach meinem, zugegebenermaßen unsinnigen Disput mit devo in http://ww3.cad.de/foren/ubb/Forum23/HTML/003282.shtml. Jedenfalls habe ich daraus gelernt und werde in Zukunft auf derlei persönliche "Ansagen" nicht mehr eingehen. Zurück zum TC-Makrorecorder und TC-SDK - ist die Beschäftigung damit noch zeitgemäß, oder springen jetzt alle (???) auf Ruby? Das hatte ich auch schon mal kurz "auf dem Schirm" und war recht enttäuscht von dem für mich unübersichtlichen Handling und wenn ich nun noch von den Problemen lese, die auch andere damit haben, so sei doch die Frage erlaubt, ob das der richtige Weg ist. Meiner Meinung nach ist die Programmentwicklung mit dem TC-SDK unter dem für AutoIt angepassten Editor SciTE eine annehmbare Alternative zu der seit TC11 nicht mehr zur Verfügung stehenden VBA-IDE. Zugegeben, IntelliSence funktioniert nicht, Step-Modus Debugging und viele andere hilfreiche Features gibt es auch nicht - da muß man sich dann anderweitig behelfen ... z.B. mit temporären MsgBoxen. Und ja, es gibt auch den AutoIt-Debugger, aber damit gab's bei mir mehr Probleme als Verbesserungen der Programmier-Technologie. Vielleicht wäre eine TC-angepasste Version von SciTE dann das Richtige? SciTE ist Freeware und OpenSource incl. zahlreicher Konfigurations-Möglichkeiten - auch hinsichtlich der deutschen Sprache. SciTe beinhaltet allerdings nicht, bzw. ersetzt keinen voll funktionsfähigen TC-Makrorecorder, der m.E. immer noch wichtig ist für die Erkundung von TC-Funktionen. Da SciTE OpenSource ist, besteht vielleicht die Möglichkeit sowas zu integrieren. Bin sehr gespannt auf Eure Meinung... Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 19. Mai. 2013 11:11 <-- editieren / zitieren --> Unities abgeben: Nur für PSblnkd
Hallo Peter >>Der Makrorecorder ist für mich insbesondere dann von Interesse, wenn nach dem Menü- betreffenden SDK-Befehl gesucht werden muß.<< ich nutze den Makrorecorder tatsächlich nur für diese Funktion. Die Sysntax zu finden macht er, für alles weitere ist er m.E. nicht zu gebrauchen. Kann keine Veränderungen in den Versionen feststellen. Derzeit TC18 im Einsatz und TC19-64 auch installiert. Da ich aber einige zeitintensive Funktionen mit VB6 sprich 32-bit programmiert habe bleibe ich noch ein bischen bei TC18. Gruß Bernd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 19. Mai. 2013 11:44 <-- editieren / zitieren --> Unities abgeben:
@ibruethsch Wow! - Nach fast zwei Monaten gibt's doch noch 'ne Meinung. Wenn es seit TC10 keine Veränderung/Erweiterung des Macrorecorders gegeben hat, dann werden wohl auch alle in den folgenden Versionen dazugekommenden Menü-Funktionen nicht unterstützt - so, wie es schon mit der Datenbankfunktion bei TC10 ist. Was macht man dann? Pfingstgrüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 25. Jan. 2016 09:21 <-- editieren / zitieren --> Unities abgeben:
Ich muss diesen fast 3 Jahre alten Beitrag nochmal ausgraben. Im Zusammenhang mit einer bestimmten Aufgabenstellung wollte ich versuchen "Bemaßungen" programmtechnisch zu generieren. Der Makrorecorder gibt für die Bemaßung einer einfachen Linie Folgendes aus (nur das Relevante): Code:
... Start "Einfügen|Bemaßung|Orthogonal" On Error Resume Next ActiveDrawing.Styles("Normale Bemaßungen").Activate if Err.Number <> 0 then MsgBox Err.Description,,"Playback error" End If On Error GoTo 0 Drag xOrigin + 64.2818991183730050, yOrigin + 101.5041542916110400, zOrigin + 0.0000000000000000, 0 Click xOrigin + 64.2818991183730050, yOrigin + 101.5041542916110400, zOrigin + 0.0000000000000000, 1 Drag xOrigin + 197.4418397845080100, yOrigin + 101.8219584459455000, zOrigin + 0.0000000000000000, 0 Click xOrigin + 197.4418397845080100, yOrigin + 101.8219584459455000, zOrigin + 0.0000000000000000, 1 Properties("$SNAPMODE") = "4097" Drag xOrigin + 131.9741839916110800, yOrigin + 120.8902077060125500, zOrigin + 0.0000000000000000, 0 Click xOrigin + 131.9741839916110800, yOrigin + 120.8902077060125500, zOrigin + 0.0000000000000000, 1 gxPlayList.Delete Set gxPlayList = Nothing gxSelList.Delete Set gxSelList = Nothing
Daraus ist mir nicht ersichtlich, welche SDK-Funktion hier in Anwendung kommt - die "Drag" + "Click"-Operationen sind lediglich die Mouse-Aktivitäten. Im Objekt-Modell von TC habe ich auch keine relevante Funktion gefunden ... Hat sich mit "Bemaßung" im SDK schon mal jemand befasst? Wie könnte man da rangehen? Es wird Zeit, dass sich mal jemand den Makrorecorder vornimmt ... Grüsse aus Berlin
PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 18. Apr. 2016 09:31 <-- editieren / zitieren --> Unities abgeben:
Nachdem nun 3 Monaten lang sich noch niemand bemüßigt gefühlt hat sich diesem Thema zu widmen, habe ich selbst versucht dem "Geheimnis" auf die Spur zu kommen. Wie bereits in meinen SDK-Buch zum Thema "Datenbank" ausgeführt, wird offensichtlich auch die Bemaßungsfunktion (und wie auch noch viele weitere) außerhalb der trivialen Grafikfunktionen, welche im SDK dokumentiert sind, realisiert. Vielleicht kann der Makrorecorder das deshalb auch nicht darstellen ...? Dazu sind spezielle DLLs in das Hauptprogramm eingebunden, die bei Bedarf, d.h. beim Aufrufen der entsprechenden Menüfunktion, in Aktion treten. Für die Datenbankfunktion ist das z.B. die tcdb.dll - habe ich getestet, in dem diese vorübergehend umbenannt wurde. Schon ist die DB-Funktion nicht mehr verfügbar. Die für die Bemaßungsfunktion zuständige DLL habe ich bis jetzt noch nicht ausfindig machen können - wird aber im Rahmen des 2.Teil vom SDK-Buch geschehen. Diese DLLs sind in der Regel nicht COM-fähig und somit leider in keinster Weise dokumentiert, so dass eine Benutzung, d.h. Aufruf ohne die speziellen Kenntnisse der Aufrufparameter scheitern wird. Für die Realisierung der Bemaßungsfunktion "zu Fuß" gibt es in den SDK-Beispielen einen VBA-Sample: AddDimensionsSample.tcm - konnte ich aber aus Zeitgründen bisher noch nicht testen. Mal sehen, wenn ich dazu komme am 2.Teil weiter zu arbeiten ... Grüsse aus Berlin PSblnkd Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 23. Mai. 2016 09:42 <-- editieren / zitieren --> Unities abgeben:
Zunächst eine kleine Berichtigung: Auch in dem VBA-Sample AddDimensionSample.tcm wird die Bemaßungsfunktion nicht "zu Fuß" realisiert, sondern mit Hilfe der speziellen Funktionalität von tcdim.dll. Dazu habe ich einige Untersuchungen angestellt, welche im Teil 2 vom SDK-Buch dokumentiert sind. Hier eine Vorab-Version mit dem Teil "Bemassungen": http://www.ps-blnkd.de/VB_SDK_TC_Teil_II_vorabVersion.pdf. - Fragen, Bemerkungen gern via eMail (im Impressum meiner HP). Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 23. Mai. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
ibruethsch Mitglied Bauingeniuer
Beiträge: 80 Registriert: 18.10.2006
|
erstellt am: 12. Aug. 2016 19:25 <-- editieren / zitieren --> Unities abgeben: Nur für PSblnkd
Hallo Peter ich hatte im englischsprachigem Forum die Idee und Hoffnung gepostet, dass IMSI VBA wieder ins Programm integriert. Ich hatte nämlich gelesen, dass dies nunmehr ohne Lizenzgebühren möglich sei. http://forums.turbocad.com/index.php/topic,17381.0.htmlIMSI hat sich tatsächlich um eine dsbzgl. Lösung bemüht. Heute habe ich aber zur Kenntnis nehmen müssen, dass dies doch nicht von Erfolg sein wird. (siehe Antwort von Dave Taylor) schade eigentlich. Ich hatte mal alte makros von Tom Snape überarbeitet und für mich als .exe zugänglich gemacht. Da kann man Objekte und unterobjekte gut analysieren. http://forums.turbocad.com/index.php/topic,1633.0.html Download (auch makrocode) ganz unten Grüße aus Kassel Bernd P.S ich habe eine .doc Datei mit Objektmodell (tcsdk4444.doc) usw. Lässt sich gut durchsuchen (besser als die alte tcsdk.chm) wenn Du daran Interesse hast, bitte PM mit mailadresse Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
PSblnkd Mitglied Dipl.-Ing.
Beiträge: 164 Registriert: 13.03.2009
|
erstellt am: 14. Aug. 2016 09:03 <-- editieren / zitieren --> Unities abgeben:
Hallo Bernd, wir sind hier wohl die einzigsten, die noch etwas mit Programmierung im Allgemeinen und VBA im Speziellen "am Hut haben". Nach meinen Erkenntnissen geht VBA immer, wenn die entsprechenden DLLs - wie von cwcookman im Ami-Forum http://forums.turbocad.com/index.php/topic,1633.0.html gepostet, auf dem System vorhanden sind. Davon unberührt bleibt die COM-Schnittstelle über die IMSIGXxx.dll, sonst würde TC z.B. über AutoIt nicht anprechbar sein, wenn weder EXCEL noch sonst so'n MS-Zeug drauf ist. Schade, dass Du den IMSI-Leuten nicht den Vorschlag gemacht hast das freie SciTE in einer entsprechend angepassten Version einzusetzen - ich schrieb schon weiter oben darüber ... Bei meiner weiteren Bearbeitung des SDK-Tutorials (2. Teil) habe ich auch rausbekommen, dass alle komplexeren TC-Funktionen, die in DLLs abgelegt sind (wie z.B. die Bemaßungs- oder DB-Funktion), nicht über den Macrorecorder "kommuniziert" werden. Leider ist mir dazu noch nichts "Passendes" eingefallen, wie man das realisieren könnte ... Zu "tcsdk4444.doc" bekommst Du noch 'ne eMail. Grüsse aus Berlin PSblnkd [Diese Nachricht wurde von PSblnkd am 14. Aug. 2016 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|