|
Autocad VBA : LWPolylinie Kurve Angleichen über VBA
mapcar am 18.06.2004 um 12:39 Uhr (0)
Tomi, das mit den Dialogen stimmt schon. Zum Thema Interaktion VBA-Lisp gibt s genügend Threads, da hab ich mich nie wirklich reingehangen. Wesentlicher ist für mich die Frage, was das Ganze eigentlich werden soll - gebügelte Polylinien sind ja nun mal sehr eingeschränkt zu gebrauchen. Sie sind so gut wie nicht editierbar - Splines hingegen gibt s doch auch in 14 schon (die sind ja auch die Nachfolger der aufgegebenen geglätteten Polylinien). Schön zu editieren sind die natürlich auch nicht, aber wenigst ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Ersetzen von Blöcken in VBA
mapcar am 18.06.2004 um 13:13 Uhr (0)
Jetzt kommen wir der Sache näher - mit Sache meine ich jetzt das Problem, nicht die Lösung. Also nicht das simple Einfügen, sondern ein Block-Import aus einer anderen Zeichnung. Da fällt mir spontan dieser Weg ein: Die Quellzeichnung zusätzlich zur Zielzeichnung aufmachen und die Blockdefinition abkopieren - anschließend die Quellzeichnung wieder schließen. Du kannst aber auch den quick and dirty -Weg gehen: Quelle insgesamt als Block in die Zielzeichnung einfügen und das Insert wieder löschen. Dann hast ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : LWPolylinie Kurve Angleichen über VBA
TomiProg am 21.06.2004 um 11:25 Uhr (0)
@Axel Ich habe mir ein Programm erstellt, das mir mit Hilfe einer Polylinie Fußbodenheizschlangen zeichnet. Der Übergang von einer Bahn zur nächsten wird mit einem Biegeradius hergestellt. Wenn der zweifache Biegeradius kleiner als der Verlegeabstand ist, ist das Zeichnen des Übergans kein Problem. Wenn er größer ist, soll der Übergang nicht so kantig aussehen, als ob ich zwei paralelle Linie zeichne und die Enden mit einem Kreisausschnitt verbinde, dessen Durchmesser größer ist als der Verlegeabstand. Wen ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Pfad der ACAD.EXE aus Registry auslesen
Brischke am 22.06.2004 um 14:38 Uhr (0)
Hallo Wolfi, warum so kompliziert? Du kannst doch direkt mit VB das Acad-Objekt ansprechen und auch starten. Dazu einen Verweis auf dei acad*.tlb und dann geht s los. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Pfad der ACAD.EXE aus Registry auslesen
Brischke am 22.06.2004 um 17:02 Uhr (0)
Hallo Wolfi, ich denke du kannst ja mehrere Verweise auf die verschiedenen *.TLB s erstellen und somit eben im Code das gewünschte Applikationsobjekt erzeugen und starten. Ich habe hier kein VB zur Verfügung, sollte (wenn ich mich recht erinnere) aber so gehen. Bei Fragen ... Grüße Holger ------------------ Holger Brischke (defun - Lisp over night! AutoLISP-Programmierung für AutoCAD Da weiß man, wann man s hat!
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Pfad der ACAD.EXE aus Registry auslesen
mapcar am 23.06.2004 um 14:41 Uhr (0)
Wolfi, dein Problem verstehe ich jetzt nicht ganz - was findest du nicht? Ich hab s jetzt nur in Lisp, aber es dürfte ja kein Problem sein, das in VBA umzusetzen: Code: (defun location-of-acad16-exe() (vl-load-com) (vl-registry-read (strcat HKEY_LOCAL_MACHINESOFTWAREAutodeskAutoCADR16.1 (vl-registry-read HKEY_CURRENT_USERSoftwareAutodeskAutoCADR16.1 CurVer ) ) Location ) ) (location-of-acad16-exe) = C:ProgrammeAutodeskAutoCAD 2005 Gruß, Axel ------------------ ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : VBA mit dwt öffnen
Proxy am 07.07.2004 um 15:35 Uhr (0)
Aus der Hilfe: Private Sub ACADApp_ BeginOpen (FileName As String) This example intercepts an Application BeginOpen event. This event is triggered when a drawing is opened by AutoCAD. To trigger this example event: 1) Make sure to run the example that initializes the public variable (named ACADApp) linked to this event. 2) Use AutoCAD to open an existing drawing Use the FileName variable to determine which drawing file is being ope ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
RoSiNiNo am 07.07.2004 um 16:41 Uhr (0)
Hallo Kollegen, ich hab da mal eine Frage zu LISP. Bisher habe ich die Befehle so definiert: Code: (defun c:blocknum () (vl-vbarun acad.dvb!koordinaten.BlockNumeriert )) (defun c:AttCountX () (vla-runmacro(vlax-get-acad-object) acad.dvb!Modify.AttribCountExtend )) (defun c:BlockTxP () (vl-vbarun acad.dvb!block.BlockTextPrefix )) (defun c:BlockTxS () (vl-vbarun acad.dvb!block.BlockTextSuffix )) Jetzt habe ich in einem anderen Beitrag eine gute Variante gelesen, z.B. folgendes. Code: ;;; ********* ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
CADmium am 07.07.2004 um 16:54 Uhr (0)
ungestestet , so etwa : (Setq VBA-LISTE (list ( BlockTxP acad.dvb!block.BlockTextPrefix ) ( BlockTxS acad.dvb!block.BlockTextSuffix ) ) ) (foreach LISTENEINTRAG VBA-LISTE (eval (list defun (read (strcat C: (car LISTENEINTRAG))) () (list vla-RunMacro *AcadObj* (cadr LISTENEINTRAG)) (princ) ) ) ) ------------------ - Thomas -
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
RoSiNiNo am 08.07.2004 um 07:06 Uhr (0)
Danke Thomas, ich werde es einmal testen. Da hätte ich dann doch noch eine Frage, kann man eigentlich zu jedem Listeneintrag auch noch Kommentare schreiben? z.B. (Setq VBA-LISTE (list ( BlockTxP acad.dvb!block.BlockTextPrefix ) ;Schreibt Prefix vor Attributtext ( BlockTxS acad.dvb!block.BlockTextSuffix ) ;Schreibt Suffix nach Attributtext ) ) ------------------ Roland
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
CADmium am 08.07.2004 um 07:38 Uhr (0)
Aber sicher! .. P.S: Warum testest du es nicht einfach ? ------------------ - Thomas -
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
RoSiNiNo am 08.07.2004 um 07:40 Uhr (0)
Schäm :-( ------------------ Roland
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf von VBA-Prozeduren via Lisp
RoSiNiNo am 08.07.2004 um 13:12 Uhr (0)
Ich hab jetzt ein kleines Problem mit diesem Code: ;;; ********************* ;;; setq global variables ;;; ********************* ;;; get the application object (setq *acadObj* (vlax-get-acad-object)) ;; array of command name strings (setq CommandList (list ("HK3D" "acad.dvb!aTest.HK_OBQZ") ;3d Höhenkote ("RIDL" "acad.dvb!aTest.RechnenIstDochLeicht") ;Rechnen ) ) ;; make a defun for each command name (foreach CommandName CommandList (eval (list defun (read (strcat "C:" (car Comma ...
|
In das Form Autocad VBA wechseln |