|
Autocad VBA : „Ein bisschen Theorie ist manchmal auch ganz nützlich“
Brischke am 07.11.2004 um 17:52 Uhr (0)
Zitat: Original erstellt von Moony: ... finde ich dann doch schon etwas von „oben herab“. Hallo Moony, das sieh bitte nicht so eng! Manch einer ist froh über diesen Hinweis, manchanderer eben nicht. Ich selbst habe in dem Thread Auslesen von Blockeigenschaften mittels VBA möglich? auch lange überlegt, ob ich die Formel zum Umrechnen von RAD in DEG einstelle. Was ja auch Grundlagenwissen in Sachen CAD-Programmierung sein sollte. Wo soll man also anfangen, wo aufhören? das ist immer eine Gradwander ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : „Ein bisschen Theorie ist manchmal auch ganz nützlich“
mapcar am 07.11.2004 um 20:13 Uhr (0)
Nee Moony, so von oben herab war das überhaupt nicht gemeint. Es war lediglich als präventiver Hinweis gedacht für den folgenden Fall: Wer Rechtecke sucht, muss technisch besehen Polylinien suchen. Das sind nämlich die Entities, während das Konzept Rechteck in der Geometriedatenbank unbekannt ist. Und dann ist man ruckzuck bei der Aufgabenstellung Wie schreibe ich eine Funktion, die feststellt, ob eine Polylinie ein Rechteck darstellt? Das klingt trivial, dürfte aber viele schon vor echte Probleme st ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : setXData
mapcar am 27.07.2005 um 12:09 Uhr (0)
Hi Nancy, in Lisp gibt es die Funktionen (XDSIZE ...) und (XDROOM ...), mit denen man feststellen kann, wieviel von den 16 kb verbraucht wurde bzw. noch frei ist. Die Hilfe sagt aber im Kapitel AxtiveX and VBA Developer s Guide - VisualLisp and ActiveX Comparison , dass diese Methoden "not provided" sind, d.h. in VBA kann man das nicht ermitteln. Bleibt also nur, aus VBA heraus ein Lisp-Statement zu evaluieren (über die VLAX-Klasse, habe ich mal hier gepostet). Aber noch was anderes: Der GC 1001 ist für ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : setXData
mapcar am 28.07.2005 um 12:52 Uhr (0)
Hi Nancy! Ich will noch mal versuchen, dir (und jedem, den s interessiert), das mit dem Appname zu erklären: Jede Applikation, auch deine, sollte *einen* eindeutigen Namen haben. Das hat folgende Vorteile: 1. Man kann Entities danach filtern (z.B. mit Befehlen oder ssget in Lisp) 2. Man bringt nicht die AutoCAD-EEDs mit den eigenen durcheinander 3. Man bringt nicht die eigenen Daten mit denen einer anderen Applikation durcheinander Mit einer Zeile wie oTxt.GetXData "", xType, xDat tust du aber genau das ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : setXData
mapcar am 28.07.2005 um 21:24 Uhr (0)
Ja, Nancy, mit einem italienischen Ausgang in Form von "" wären die Daten wieder rechteckig. Auch "" ist eine Übersetzung von "Ausgang", allerdings eine ziemlich schlechte;-) Aber das Leben ist nun mal nicht rechteckig, oder jedenfalls in den seltensten Fällen! In der Praxis sieht es jedenfalls so aus, dass an einem Entity nachher 100 verschiedene Datensätze dranhängen, am nächsten nur drei. Interessant wird die Geschichte allerdings erst wirklich, wenn die ganzen 1000er Gruppencodes ins Spiel kommen: 1007 ...
|
In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Block einfügen??mal anders??
pan am 15.08.2003 um 14:09 Uhr (0)
Hallodachte immer ich wär der einzige der sichtbares Schieben braucht.Sieh doch mal nach AcadXDynamicGraphics von der Acadx-Webseite. Damit kann man Objekte sichtbar schieben. Musst mal sehen ob man das Tool hierfür einarbeiten kann.Bisher mach ichs mit Lisp, setze Objekte irgendwo hinter 0,0 und schieb es dann sichtbar ein.Gruß Pan
|
In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Datei schließen & öffnen ; crosspost.Lisp
cadffm am 15.08.2003 um 09:22 Uhr (0)
Isch hätte gern..... ein Zeichnung schließen (ohne speichern) und erneut öffnen Button ! - Jetzt wo endlich das Lt-feature mit dem Pulldown für Zurück in die Vollversion übernommen wurde ist es zwar eigentlich nicht mehr von Nöten, aber dennoch hätte ich sowas gern. Da ich in Lisp nur innerhalb einer Datei agieren kann wird das wohl damit nicht funktionieren (lasse mich aber liebend gern belehren). In VBa dürfte das aber doch möglich sein ... aktuelle Datei... 1. merken 2. schließen (ohne speichern) ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Datei schließen & öffnen ; crosspost.Lisp
Karsten HST am 15.08.2003 um 13:55 Uhr (0)
OldName = ThisDrawing.FullName Zeichnungsname merken ThisDrawing.Close False Zeichnung schließen ohne speichern Documents.Open OldName Zeichnung wieder öffnen
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Datei schließen & öffnen ; crosspost.Lisp
OlliBaer am 15.08.2003 um 16:49 Uhr (0)
Hallo, ich würde es so machen: Sub ButtonNeu() Dim ZGesamt As String ZGesamt = ThisDrawing.FullName If ThisDrawing.FullName Then ThisDrawing.Close (False) Documents.Open ZGesamt Else MsgBox ThisDrawing.Name & wurde noch nicht gespeichert! End If End Sub wenn es eine ungespeicherte Zeichnung ist, bekommt man sonst eine unschöne fehlermeldung ;-) bis dann Olli
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Datei schließen & öffnen ; crosspost.Lisp
cadffm am 18.08.2003 um 00:25 Uhr (0)
habe kaum Zeit und CAD-Station zum testen (diese Antwort geht noch ) - vorab Danke, sieht toll aus - gebe nochmal bescheid... ------------------ Gruß Sebastian Der Feind des Guten ist das Bessere.
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Datei schließen & öffnen ; crosspost.Lisp
cadffm am 28.08.2003 um 09:07 Uhr (0)
ich werde es über Vba machen, ist sauberer | statt Lisp/script danke an beide ! ------------------ Gruß Sebastian Die Befehlszeile ist dein Freund...lesen bildet !
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA für CAD-Light
BerndE am 15.09.2003 um 20:52 Uhr (0)
HI Leut, eigentlich nein....aber schau mal auf http://www.lt-extender.com/deutsch/inhalte/LT2004/content.htm ansonsten sagt Autodesk folgendes dazu: (kopiert von: http://www.kumagroup.de/artikel/cad/support/detail054199.jsp?msf=40%2C30 BEGINN ZITAT: Sehr geehrter [Kunde], möglicherweise haben auch Sie bereits von Werbeanzeigen für ObjectARX-, LISP- oder VBA-Anwendungen gehört oder gelesen, in denen behauptet wird, dass diese für den Einsatz mit AutoCAD LT geeignet sind. Mit diesem Schreiben möchten w ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Block bearbeiten verbieten...
Brischke am 12.09.2003 um 08:40 Uhr (0)
Hallo Heiko, ich weiß ja nicht, wie fit Deine Anwender sind. Man kann aber auch einzelne Befehle löschen. Mit AutoLISP geht das so (command _UNDEFINE BEFNAME ) Nachteil, dieser Befel steht dann auch nicht bei den Blöcken zur Verfügung, die geändert werden dürfen. 2. Variante, die ich eigentlich noch besser finden würde. Wenn Das Attribut sowieso nur einmal ausgefüllt werden darf, dann mach doch einfach ein Konstantes Attribut daraus. Sowohl mit VBA als auch AutoLISP ist das ja kein Thema, auch das auszu ...
|
In das Form Autocad VBA wechseln |