Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TurboCAD SDK VBA
  VBA-Programmierung in TurboCAD (Seite 2)

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen Dieses Thema ist 2 Seiten lang:   1  2  nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  VBA-Programmierung in TurboCAD (7441 mal gelesen)
ibruethsch
Mitglied
Bauingeniuer


Sehen Sie sich das Profil von ibruethsch an!   Senden Sie eine Private Message an ibruethsch  Schreiben Sie einen Gästebucheintrag für ibruethsch

Beiträge: 80
Registriert: 18.10.2006

erstellt am: 30. Jan. 2012 13:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Hallo Peter
ich habe die .exe mit Win7 64 TC18 Prof getestet. Das Tabellenkonfigurationsfenster öffnet sich, aber in TC passiert nix.
Wenn Du Deinen Sourcecode zur Verfügung stellst, kann man damit was anfangen.
Gruß
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Leopoldi
Mitglied
Heimwerker i.R. www.max-mg.de


Sehen Sie sich das Profil von Leopoldi an!   Senden Sie eine Private Message an Leopoldi  Schreiben Sie einen Gästebucheintrag für Leopoldi

Beiträge: 1360
Registriert: 16.07.2009

Unter Win10-Pro 64Bit:
(TC21)-TC2020 Pro Platinum

erstellt am: 31. Jan. 2012 14:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich


SDKsinTurboCad.pdf

 
Hallo zusammen

ich habe meine Beschreibung für Einsteiger aktualisiert.

In VisualBasic 2010 Express* (was es ja kostenfrei gibt) wird direkt im Projektpfad unter ..\bin\debug eine .exe erzeugt.
Was ich noch nicht weiss, wie man eine .dll - und dann noch TurboCad verträglich - erstellt.
Ich habe die 2 Beispiele aus dem US-Forum erfolgreich übernommen:
"ImportTextFile"  und  "CreateSurface"

Beim "Projekt öffnen" die .sln Datei wählen.
Beide Dateien sind aus älternen Versionen als 2010 und werden jedoch fehlerfrei importiert.
Bei ImportTextFile muss TurboCad geöffnet sein, bei Create Surface nicht.

Beispiele gibt es hier (nach Anmeldung?):
http://forums.turbocad.com/index.php/topic,4013.0.html
http://forums.turbocad.com/index.php/board,25.0.html

mfg. Leopoldi

* Wenn ich das richtig sehe: VisualBasic 2010 Express ist kostenfrei und kommerziell nutzbar

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Leopoldi
Mitglied
Heimwerker i.R. www.max-mg.de


Sehen Sie sich das Profil von Leopoldi an!   Senden Sie eine Private Message an Leopoldi  Schreiben Sie einen Gästebucheintrag für Leopoldi

Beiträge: 1360
Registriert: 16.07.2009

erstellt am: 31. Jan. 2012 18:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich


SDKsinTurboCad.pdf

 
Neu: Anhang Seite4 -- Öffnen eines Beispiel-Projektes in Visual Basic 2010

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jossie
Mitglied
Astronom im Ruhestand


Sehen Sie sich das Profil von jossie an!   Senden Sie eine Private Message an jossie  Schreiben Sie einen Gästebucheintrag für jossie

Beiträge: 360
Registriert: 21.03.2008

TC 21 Pro Platinum, Windows11 (64bit), 64GByte RAM, Intel i9, Nvidia Quadro P2000

erstellt am: 01. Feb. 2012 09:31    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Leopoldi,

super, tausend Dank für Deine Zusammenfassung, die nun genau das zur Verfügung stellt, was ich mit diesem Faden wollte, nämlich aufzuzeigen, wie man überhaupt ins Programmieren von TC reinkommt!  Hoffentlich erreicht das auch die Wunschliste und wird in Zukunft in die TC-Dokumentation übernommen.

Noch eine Kleinigkeit: Wie ich weiter oben im Faden erwähnt hatte, sollte man die WINDOWS SDK und :NET Framework  ** VOR ** Visual Studio installieren. Nur so findet Visual Basic das, was es davon braucht. Man kann da sicher nachträglich noch etwas umbiegen, wenn man weiss, was ... Mich hat es jedenfalls einige Zeit gekostet, da drauf zu kommen.

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


Sehen Sie sich das Profil von Leopoldi an!   Senden Sie eine Private Message an Leopoldi  Schreiben Sie einen Gästebucheintrag für Leopoldi

Beiträge: 1360
Registriert: 16.07.2009

erstellt am: 01. Feb. 2012 09:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Hallo HJ

bei meiner Installation von "Visual Basic 2010 Express" wurde gleich ein ganzes Paket an Zusätzen installiert; ein Installer?, NetFrameWork 4. u.a..

Jetzt fehlt ja nur noch eine Musterlösung zum Erstellen einer DLL.

mfg. Leopoldi

P.S.: Ich habe den ISO-File geladen und auf DVD gebrannt. Dann hat man alle Varianten. DVD einlegen und los gehts mit der Auswahl der Version.

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PSblnkd
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von PSblnkd an!   Senden Sie eine Private Message an PSblnkd  Schreiben Sie einen Gästebucheintrag für PSblnkd

Beiträge: 156
Registriert: 13.03.2009

erstellt am: 02. Feb. 2012 09:20    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

@Bernd
Unter der Annahme, dass Du die "Tabelle für TC.exe" meinst:
Wie bereits in http://ww3.cad.de/foren/ubb/Forum229/HTML/000010.shtml  - mein Beitrag vom 13.05.2011 erläutert, ist die Funktionalität auf die geordnete Auflistung von Objekten eines bestimmbaren Layers in der ComboBox des Tabellenkonfigurationsfensters beschränkt. Eine weitergehende Funktionalität ist (noch) nicht implementiert. In TC selbst sind keinerlei Aktionen zu sehen.
Da aber offensichtlich weiterhin das Thema "Tabellengenerator" von Desinteresse seitens der TC-Gemeinde geprägt ist - Du vielleicht mal ausgenommen - bin ich immer noch unschlüssig, ob ich die Arbeit daran wieder aufnehmen soll. Ich hatte eigentlich gehofft, dass es nun doch vielleicht Hinweise auf die gewünschte Funktionalität, Bedien-Philosophie usw. geben würde - die Umsetzung, sprich Programmierung mache ich dann schon ... und über den Fortschrittsverlauf würde ich auch laufend berichten.

@Leopoldi
Zu Deiner Zusammenstellung zur SDK-Programmierung hatte ich schon Einiges kommentiert. So einfach, wie Du die DLLs behandelst, ist es leider nicht. Dazu hatte ich schon mehrfach geschrieben, u.a. auch in http://ww3.cad.de/foren/ubb/Forum229/HTML/000039.shtml. 
Zu AutoIt schreibts Du, dass (Zitat) "Mit AutoIt erstellte .exe-Dateien sehen kompiliert aus. Tatsächlich ist jedoch die .exe selbstentpackend. Das so entpackte Script läuft dann auf dem ebenfalls entpackten Interpreter." - Wo hast Du denn das her? -
Soweit ich AutoIt verstanden habe, basieren die dort vorhandenen Funktionen auf dem Windows-API, d.h. die betreffenden Windows-API-Funktionen werden direkt angesprochen und wie beim MS-Studio-Compiler auch "zusammengebunden". Da bei AutoIt aber keinerlei "Überbau"-Bibliotheken gebraucht werden, ist die erzeugte EXE dann auch so klein.
Natürlich kommt die Funktionalität von AutoIt bei Weitem nicht an die vom MS-Studio heran, so kann man z.B. - so weit ich weiß - keine DLL erzeugen.

Grüsse aus Berlin

PSblnkd

[Diese Nachricht wurde von PSblnkd am 02. Feb. 2012 editiert.]

[Diese Nachricht wurde von PSblnkd am 02. Feb. 2012 editiert.]

[Diese Nachricht wurde von PSblnkd am 02. Feb. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

devo
Mitglied
Holzverarbeiter


Sehen Sie sich das Profil von devo an!   Senden Sie eine Private Message an devo  Schreiben Sie einen Gästebucheintrag für devo

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: 02. Feb. 2012 11:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

@PSblnkd

"Mittels F7 ("Build") und Strg+F7 ("Compile") lässt sich ein Skript in eine ausführbare .exe Datei
verpacken. Einen echten Compiler, der Skripte in Maschinensprache übersetzt, hat AutoIt aber nicht
zu bieten - die ausführbaren Dateien bündeln den Script-Code mit dem Interpreter."

Karsten Violka
Fensterschrauber
c´t 10/2008 S.153
c´t extra 02/2009 Programmieren S.98

gruss mike

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Leopoldi
Mitglied
Heimwerker i.R. www.max-mg.de


Sehen Sie sich das Profil von Leopoldi an!   Senden Sie eine Private Message an Leopoldi  Schreiben Sie einen Gästebucheintrag für Leopoldi

Beiträge: 1360
Registriert: 16.07.2009

erstellt am: 02. Feb. 2012 11:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Hallo PSblnk

Meine Quelle:
Seite 15
http://autoit.de/index.php?page=Attachment&attachmentID=11015&h=cbcb9294d4887cb3a4fab2c560f7aa28921f4540
mfg. Leopoldi

[Diese Nachricht wurde von Leopoldi am 03. Feb. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ibruethsch
Mitglied
Bauingeniuer


Sehen Sie sich das Profil von ibruethsch an!   Senden Sie eine Private Message an ibruethsch  Schreiben Sie einen Gästebucheintrag für ibruethsch

Beiträge: 80
Registriert: 18.10.2006

erstellt am: 02. Feb. 2012 11:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Ich habe auf Anraten von Mike Kuhn das Skriptcenter mit VBS noch mal einen Test unterzogen. Bei einigen Anwendungen kommt es mir sehr auf die Geschwindigkeit an.
Ich hatte mit VBSedit den Geschwindigkeits Test mit den 10.000 Strichen, aus dem VBSEdit Fenster gestartet. Da habe ich den Geschwindigkeitstest nach 2 min abgebrochen (d.h. für aufwändige Prozeduren ist diese Lösung unbrauchbar). Mike Kuhn wies aber darauf hin dass er im Skriptcenter die gleiche Aufgabe mit VBS in einer sehr kurzen Zeit bewerkstelligt hat.
Dies kann ich nun bestätigen. In den Skriptcenter läuft die gleiche Aufgabe mit 4 s und ist somit genauso schnell wie die .dll.
D.h. Lösung mit VBS ist durchaus akzeptabel. Mit VBS kann man mittels VBSedit in akzeptabler Programmierumgebung entwickeln und hat im Skriptcenter schnellen Zugriff zu diesen schnellen Routinen,

Das Skriptcenter läuft unter Windows 7 64 Bit leider nur eingeschränkt. Die Funktion Autoload und open script file funktionieren nicht.
Aber Skripte , die bereits unter WinXP eingebunden wurden, laufen.


Gruß
Bernd


[Diese Nachricht wurde von ibruethsch am 02. Feb. 2012 editiert.]

[Diese Nachricht wurde von ibruethsch am 02. Feb. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

PSblnkd
Mitglied
Dipl.-Ing.


Sehen Sie sich das Profil von PSblnkd an!   Senden Sie eine Private Message an PSblnkd  Schreiben Sie einen Gästebucheintrag für PSblnkd

Beiträge: 156
Registriert: 13.03.2009

erstellt am: 04. Feb. 2012 11:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

@devo
@Leopoldi

Den C't-Artikel von Karsten Violka kenne ich auch und das war der Anlass mich mit AutoIt zu beschäftigen. Allerdings bin ich mir in der Richtigkeit der zitierten Aussage nicht sicher - jedenfalls solange das nicht nur die reine Interpreter-Funktion des mit der Autoit3.exe unterstützten SciTE-Programms betrifft.
Werden die *.au3-Quelltexte mit Aut2exe.exe compiliert, entstehen so kleine EXE-Dateien, dass dort unmöglich der Autoit3.exe-Interpreter drinstecken kann. Das jedenfalls induziert die oben zitierte Aussage. Ansonsten würde die erzeugte EXE auch nicht auf jedem x-beliebigen Windows-PC laufen, ohne dass dort AutoIt installiert ist.
Da halte ich mich an die Aussage in der AutoIt-Hilfe (Zitat): "Skripte können mit Aut2Exe in selbstständig ausführbare Dateien kompiliert werden" und http://www.autoit.de/dokumentation/intro/compiler.htm. 
Eine selbständig ausführbare (EXE-)Datei ist im PC immer ein Maschinenprogramm. Wie die internen Abläufe dabei auch sind ist letztendlich egal - man kann das Programm in der EXE-Datei mit Doppelcklick starten und seine Funktionalität in Anspruch nehmen ohne zusätzlich Applikation dazu laufen lassen zu müssen (EXCEL, IE o.ä.).

@Bernd
Hast Du Deinen 10000-Linien-Test schon mal mit AutoIt gemacht? - Wie schnell oder langsam(?) ist das dort?

Grüsse aus Berlin

PSblnkd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ibruethsch
Mitglied
Bauingeniuer


Sehen Sie sich das Profil von ibruethsch an!   Senden Sie eine Private Message an ibruethsch  Schreiben Sie einen Gästebucheintrag für ibruethsch

Beiträge: 80
Registriert: 18.10.2006

erstellt am: 04. Feb. 2012 13:07    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Die .vbs-Geschwindigkeit interessiert mich doch detaillierter. Es scheint so, dass David Bell im Scriptcenter eine Verbindung zur COM-Schnittstelle innerhalb des dort aufgerufenen Internetexplorer hergestellt hat. Aber verstehen oder analysieren kann ich das nicht.
Also, wenn man die .vbs im Scriptcenter eingebunden hat, dauert es 4 sekunden.
Wenn man hingegen die .vbs mittels "open script File" öffnet, werden wohl andere Wege beschritten und dass Gleiche dauert 8 Minuten.
Es scheint mir daher sinnvoll, diese Verbindung im Scriptcenter genauer zu untersuchen, da ja auch in AutoIT IE-Objecte adressierbar sind. Vielleicht kann man in AotoIT ja eine solche Verbindung herstellen, die dann auch sauschnell ist.

@Peter
mit AutoIT : 8 Minuten
siehe http://forums.turbocad.com/index.php?action=profile;u=76;sa=showPosts

Scriptcenter:
in Win7-64 bit  läuft das nicht wie unter WinXP gewohnt.
In palette.html und AutoScriptIndex.vbs
-------------------------------------------------------------
Sub OpenFile
dim ObjFSO, InitFSO
Set ObjFSO = CreateObject("UserAccounts.CommonDialog")
ObjFSO.Filter = "HTML Pages|*.htm*|VBScripts|*.vbs|All Files|*.*"
if left(document.location, 8) = "file:///" and right(document.location, 12) = "palette.html" then
ObjFSO.InitialDir = replace(unescape(mid(document.location, 9, len(document.location) - 20)), "/", "\") & "\VBScripts"
end if

InitFSO = ObjFSO.ShowOpen
document.location = ObjFSO.FileName
End Sub
-----------------------------------------------------------------
austauschen gegen:
-----------------------------------------------------------------------
Sub OpenFile
dim ObjFSO
dim InitFSO
Set ObjFSO=CreateObject("MSComDlg.CommonDialog.1") 
const cdlCancel = 32755 
const cdlOFNHideReadOnly = 4 
const cdlOFNAllowMultiselect = 512 
const cdlOFNFileMustExist = 4096 
Const cdlOFNExplorer = 524288 
ObjFSO.Flags = cdlOFNHideReadOnly + cdlOFNAllowMultiselect + cdlOFNExplorer + cdlOFNFileMustExist 
ObjFSO.Filter = "HTML Pages|*.htm*|VBScripts|*.vbs|All Files|*.*" 
objFSO.FilterIndex = 1 
objFSO.InitDir = "" 
objFSO.maxfilesize=8000
'25 'dim ObjFSO, InitFSO
'Set ObjFSO = CreateObject("UserAccounts.CommonDialog")
'ObjFSO.Filter = "HTML Pages|*.htm*|VBScripts|*.vbs|All Files|*.*"
if left(document.location, 8) = "file:///" and right(document.location, 12) = "palette.html" then
ObjFSO.InitDir = replace(unescape(mid(document.location, 9, len(document.location) - 20)), "/", "\") & "\VBScripts"
end if

InitFSO = ObjFSO.ShowOpen
document.location = ObjFSO.FileName
End Sub
--------------------------------------------------------------------------

Dann läuft es wieder einigermaßen. D.h. "open script file" funktioniert, aber die Autoload-funktion funktioniert weietrhin nicht.


Gruß
Bernd

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

devo
Mitglied
Holzverarbeiter


Sehen Sie sich das Profil von devo an!   Senden Sie eine Private Message an devo  Schreiben Sie einen Gästebucheintrag für devo

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: 04. Feb. 2012 14:36    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

@Bernd
@PSblnkd

Die Schnittstelle gibts schon seit dem ScriptsPack von Softdev 2001. Sie befindet sich in der datei "StTC.htm" im Verzeichnis ...\Internet\VBScript\CommonScripts\.
David Bell hat dafür nur den Autoloader gebaut und konnte wie er es in der Anleitung zu seinem ScriptCentre schreibt auch nicht erklären wies genau funktioniert. Es wäre sehr hilfreich wenn man darüber mal von Imsi eine genaue Beschreibung bzw. ein richtig kommentiertes Listing erhalten würde am besten mit der Anleitung wie man die StTC.htm auch mit anderen Skriptsprachen einsetzen kann. Was ich selbst überhaupt nicht nachvollziehen kann ist die Tatsache dass man trotz solcher Möglichkeiten einen schnarchlangsamen Makrorecorder auf die kunden loslässt ... 

gruss mike

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

ibruethsch
Mitglied
Bauingeniuer


Sehen Sie sich das Profil von ibruethsch an!   Senden Sie eine Private Message an ibruethsch  Schreiben Sie einen Gästebucheintrag für ibruethsch

Beiträge: 80
Registriert: 18.10.2006

erstellt am: 06. Feb. 2012 01:11    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Ich hab nochmal ein paar Stunden in die Ergründung von RUBY gesteckt.
Meine 10.000 Striche als Geschwindigkeits Test wurden in befriedigenden 4 s erledigt.
(die 10000 Striche müssen rot sein und selectiert sein)
RUBY
------------------------------------------------
require "Sketchup"


def geschw_test
  ents = Sketchup.active_model.entities
  sel = Sketchup.active_model.selection
count = sel.count
i=0
for i in (0..count-1)              # achtung for i in und ende mit end

gr=sel[i]

sel[i].material = Color.new("Green") if sel[i].tc_object().color.to_s == "Color(255, 0, 0, 255)" 

end

end
----------------------------------------------------
Das ganze Objektmodell scheint aus SketchUp zu kommen und in den Scripten im Verzeichnis \RubyEngine wird das Objektmodell von Turbocad auf das Objectmodell in Sketchup umgedichtet.

Ruby hat eine andere Syntax.

Mittels Win32.ole lässt sich eine Verbindung zu den Microsoft-COM Objekten herstellen
-------------------------------------------
require 'win32ole'
def test_excel
# aus Rubyconsole Werte in Excel schreiben
# Excel muß laufen
# http://ruby-doc.org/stdlib-1.9.3/libdoc/win32ole/rdoc/WIN32OLE.html
  excel = WIN32OLE.connect('Excel.Application')
  excel.visible = true
  workbook = excel.Workbooks.Add();
  worksheet = workbook.Worksheets(1);
  worksheet.Range("A1 1").value = ["North","South","East","West"];
  worksheet.Range("A2:B2").value = [5.2, 10];
  worksheet.Range("C2").value = 8;
  worksheet.Range("D2").value = 20;

  range = worksheet.Range("A1 2");
  range.select
  chart = workbook.Charts.Add;

  #workbook.saved = true;

  #excel.ActiveWorkbook.Close(0);
  #excel.Quit();

end
------------------------------------------------------------
Eine Verbindung zum Turbocad-objectmodell mittels Win32ole konnte ich nicht herstellen.
-----------------
require 'win32ole'
def test_TC
# aus Rubyconsole Linie in TC zeichnen
# TC muß laufen

TC = WIN32OLE.connect('TurboCAD.Application')
-------------------------------------------
funktioniert nicht!!!

Gruß
Bernd

[Diese Nachricht wurde von ibruethsch am 06. Feb. 2012 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Leopoldi
Mitglied
Heimwerker i.R. www.max-mg.de


Sehen Sie sich das Profil von Leopoldi an!   Senden Sie eine Private Message an Leopoldi  Schreiben Sie einen Gästebucheintrag für Leopoldi

Beiträge: 1360
Registriert: 16.07.2009

Unter Win10-Pro 64Bit:
(TC21)-TC2020 Pro Platinum

erstellt am: 06. Feb. 2012 10:43    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für jossie 10 Unities + Antwort hilfreich

Hallo

ich blättere und rolle mir einen Tennisarm.
Vielleicht ist es sinnvoll einen Folge-Thread zu eröffnen.

"VBA-Programmierung in TurboCAD II"

Schöne Grüße Leopoldi

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

jossie
Mitglied
Astronom im Ruhestand


Sehen Sie sich das Profil von jossie an!   Senden Sie eine Private Message an jossie  Schreiben Sie einen Gästebucheintrag für jossie

Beiträge: 360
Registriert: 21.03.2008

erstellt am: 09. Feb. 2012 09:59    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Guten Morgen Leopoldi,

das würde ich sofort unterstützen, denn das ursprüngliche Ziel wurde ja schon vor einiger Zeit erreicht, nämlich aufzuzeigen, wie man ***IM PRINZIP*** in TC programmieren kann. Das ist in Deiner Zusammenfassung enthalten.

Da die Diskussionen immer spezieller wurden, würde ich vorschlagen, den Titel des neuen Fadens dem jeweiligen Problem anzupassen, damit man diese Punkte im Forum auch leicht lokalisieren kann.

Beste Grüße und noch einen schönen Tag

Hermann-Josef

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Dieses Thema ist 2 Seiten lang:   1  2 

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz