|
AutoCAD VBA : Layer zusammenfassen
noctis79 am 21.12.2011 um 07:11 Uhr (0)
Stimmt, geb ich Dir recht...Mein Lösungsansatz ist jetzt folgender:Lisp- Datei erstellt und diese wird vom ACAD beim Start mitgeladen.Inhalt Lisp- Datei:Code:(defun C:asdf (/ Laytrans)(cond ((not (member "laytrans.arx" (arx))) (arxload "laytrans")))(acet-laytrans "standard.dws" (+ 1 2 4)))(princ)Dementsprechend eine dws- Datei über den Layermanager erstellt welche die vorhandenen Layer zu den neuen zusammenfasst.Aufruf von asdf dann über VBA mit dem SendCommand Befehl...Gefällt mir zwar nicht aber funktion ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layer zusammenfassen
CAD-Huebner am 20.12.2011 um 21:04 Uhr (0)
Reicht nicht das eingebaute Kommando LAYZUSF / _LAYMRG in AutoCAD?Z.B. als Lisp-Makro (command "layzusf" "n" "Layer1" "n" "Layer2" "n" "Layer3" "" "n" "0" "j")oder in VBA über SendcommandThisDrawing.SendCommand "_laymrg" & vbCr & "Layer1" & vbCr & "n" ... usw.------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de[Diese Nachricht wurde von CAD-Huebner am 20. Dez. 2011 editiert.]
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Layer zusammenfassen
noctis79 am 21.12.2011 um 07:11 Uhr (0)
Stimmt, geb ich Dir recht...Mein Lösungsansatz ist jetzt folgender:Lisp- Datei erstellt und diese wird vom ACAD beim Start mitgeladen.Inhalt Lisp- Datei:Code:(defun C:asdf (/ Laytrans)(cond ((not (member "laytrans.arx" (arx))) (arxload "laytrans")))(acet-laytrans "standard.dws" (+ 1 2 4)))(princ)Dementsprechend eine dws- Datei über den Layermanager erstellt welche die vorhandenen Layer zu den neuen zusammenfasst.Aufruf von asdf dann über VBA mit dem SendCommand Befehl...Gefällt mir zwar nicht aber funktion ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : reaktor: erase, added, modified
reltro am 10.02.2012 um 14:28 Uhr (0)
mmmkay,also C#.net ist mir ein wenig kryptisch.Was mir aber sofort ins auge gestochen ist, ist das [LispFunction("_GetHandleByErasedObjectId")]hmmm, ob das wirklich was mit Lisp zu tun hat, war die nächste Frage, wenn ja (wahrscheinlich ja), dann müsste dahinter doch eine Funktion stecken? Lisp ist gut, in Lisp kenn ich mich aus du auch? vielleicht kennst du dort einen Weg?das mit dem compilieren zu AktiveX, ähm, ja; keine Ahnung wie, und vorallem noch weniger was ich compilieren sollte.Wenn es eine mögli ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : reaktor: erase, added, modified
Brischke am 14.02.2012 um 21:54 Uhr (0)
Hallo reltro,jetzt habe ich den Beitrag zu spät gelesen, als dass ich da den Code gleich noch kompliliert hätte anhängen können. (Bin nicht mehr im Büro, erst am Freitag wieder).Das Thema ActiveX habe ich nur reingebracht, weil du in deinem vorherigem Beitrag VBA erwähnt hattest.Der c#-Code definiert (das hast du also gut erkannt) eine zusätzliche Lisp-Funktion. Ist die compilierte DLL geladen, dann gibts es im Lisp auch diese Funktion.Ich machs am Freitag, bis dahin ...Grüße!Holger------------------Holger ...
|
In das Form AutoCAD VBA wechseln |
 testObjectIdByErased.zip |
AutoCAD VBA : reaktor: erase, added, modified
Brischke am 17.02.2012 um 10:48 Uhr (0)
Zitat:Original erstellt von reltro:... Jedoch wär es mit sicherHeit für die Nachwelt hilfreich. ... anbei die DLL. Laden mit Netload, dann kann man in Lisp auf die neue Funktion _GetHandleByErasedObjectId zugreifen.(_GetHandleByErasedObjectId ObjectId )----------Zu deinen anderen Fragen kann ich nichts sagen. Dazu habe ich zu wenig Ahnung, was VBA angeht. Wie der Doppelklick zum Öffnen des Blockeditors implementiert ist .. auch damitz habe ich mich noch nicht beschäftigen müssen.Grüße!Holger-------------- ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Excel steuern
cadffm am 09.03.2012 um 11:27 Uhr (0)
Schau doch mal, die Applikation(Excel) sollte ein Methode "RUN" anbieten mit dem dudas Makro starten kannst, dieses wird automatisch "in der aktuellen Tabelle" ausgeführt.in Lisp/ActiveX sollte es also so aufgerufen werden: (vlax-invoke-method excel Run "MeinMakro")------------------CAD.de System-Angaben - CAD on demand - User:FAQ(Acad)
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : MaßstabsListe auslesen
reltro am 18.03.2012 um 14:09 Uhr (0)
hello liebes Forum...hm, das Thema wurde ja schon öfters hier im forum behandelt, nur ergab sich daraus nie ein lösung, bzw. ich konnte sie nicht finden.man sagt hier es gäbe keine Möglichkeit die in der Zeichnung vorhandenen Maßstäbe per VBA auszulesen; jedoch soll es anscheinend eine möglichkeit mit .net geben?Kann mir vielleicht jemand zur Seite stehn und mir beibringen wie man die vorhandenen Maßstäbe ausliest.In .net kenn ich mich nicht aus.Neben VBA wär LISP machbar für mich.Über Antworten spring ich ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : MaßstabsListe auslesen
reltro am 27.03.2012 um 11:24 Uhr (0)
So...Habe nun die Dinge durchgeschaut und bin zu einer Lösung gekommen:Folgendes steht in einem ClassModul des Namens "EvalLisp":Code:Private VL As ObjectPrivate VLF As ObjectPrivate VL_Read As ObjectPrivate VL_Eval As ObjectPrivate VL_Set As Object------------------------------------------------------------------------------------------------------------------------------------------------------------------Private Sub Class_Initialize() Dim C_cmdecho As Integer C_cmdecho = ThisDrawing.GetVariable("cmd ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : DXF export von einem SelectionSet
A. Wagner am 07.05.2012 um 09:51 Uhr (0)
Hallo,ich versuche gerade die Objekte von einem SelectionSet als dxf zu exportieren.Dazu fand ich heraus dass dies nur über einen LISP Befehl funktioniert.Hierzu habe ich folgendes gefunden:Code:Set ssetObj = SSetColl.Add("ges")ssetObj.SelectOnScreenThisDrawing.SendCommand "filedia 0 dxfout C:Exportfile" & vbCr & "O Vorher "ThisDrawing.SendCommand "filedia 1 "Allerdings wird da als Objekt "Vorher" übergeben. Das bezieht sich wohl auf die letzte Selektion, welche in dem Zeichnungs-Fenster erstellt wurde.Wen ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : WIPEOUT erzeugen
CADmium am 24.05.2012 um 10:57 Uhr (0)
In der Hilfe steht:VBA class name: AcadWipeout Create using: N / AAccess via: N / Aist also in Activex nicht implementiert .. via Lisp ginge es aber ... oder via sendcommand ...------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Problem mit getentity (VBA) und vla-runmacro
simsl am 14.06.2012 um 11:52 Uhr (0)
Hallo,habe ein für mich (anscheinend) unlösbares Problem, bei dem ich leider aufgeben und euch um Hilfe bitten muss.Folgendes:Ich habe ein kleines VBA-Programm geschrieben, bei dem ich die Nummerierung meiner Vermessungspunkte (Blockreferenz mit Attributen) etwas automatisieren möchte, d.h. die Punktnummer wird mit jeder Anwahl eines neuen Blockes um 1 erhöht und das betreffende Blockattribut dann mit der neuen Nummer überschrieben. Bei Aktivierung des Programmes erscheint die Userform, wo verschiedene Ein ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA Macro per rechten Mausklick wieder aufrufen
andreasde am 04.07.2012 um 16:24 Uhr (0)
Hallo,Ich habe das gleiche Problem gehabt.Ich mache das so:1. Schreibe ich ein LISP-Program, das das Makro aufruft:(defun c:mein_befehl()(command "-vbarun" "makro_name"))2. Dann plaziere ich die Procedure im acad.lsp oder in LISP-Datei, die automatisch bei AUTOCAD-Starten geladen wird.3. Wenn ich mein Makro starten möchte gebe ich einfach mein_befeh als AutoCAD-Anweisung ein.mfG------------------Andrzej Szarek[Diese Nachricht wurde von andreasde am 04. Jul. 2012 editiert.][Diese Nachricht wurde von andreas ...
|
In das Form AutoCAD VBA wechseln |