|
AutoCAD VBA : Block einfügen mit getpoint
Carsten1210 am 25.08.2009 um 07:01 Uhr (0)
Hallo Vittorio,Hier noch die alternative über Lisp und VBA.Gruß, Carsten
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Eigene Textbox im Werkzeugkasten
wronzky am 31.08.2009 um 10:28 Uhr (0)
Hallo,ein kleiner Querverweis zu Lisp: dort gibt es einen "unknownCommand"-Reactor. Damit kann man dann die Eingabe analysieren (Beispiel).Grüsse, Henning------------------Henning JesseVoxelManufakturComputer-Dienstleistungen für Architekten und Ingenieure http://www.voxelman.de
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Block im Ursprung einfügen
otm am 10.09.2009 um 21:43 Uhr (0)
Hallo zusammen,ich habe einen VBA-Code der mir nach Anklicken eines Icons einen Block in meine Zeichnung einfügt. Der Block wird aus einer DWG-Bibliothek (eigener Ordner mit vielen Blöcken) geholt.Das funktioniert.Wie kann ich den Block im Ursprung einfügen?In Lisp würde ich dem Blocknamen einfach ein "*" voranstellen und der Block würde im Ursprung (gesprengt) eingefügt. ?------------------Christian
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Auswahlsatz, Filter für selectionsets
CADmium am 10.10.2009 um 08:09 Uhr (0)
besser noch (entget(car(entsel))("*")) .. da gibts -wenn vorhanden- auch noch die Erweiterten Daten .. hinzu ... ist aber LISP und mit (entget(car(nentsel))("*")) kann man auch verschachtelte Objekte wählen .. z.B. einen Linie durch anklicken dieser in einer Blockref oder einen Vertex bei einer 2D-PL ....nur mal am Rande ..------------------ - 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 : Makro mit Button starten
archstudent am 31.08.2005 um 23:46 Uhr (0)
Das Makro kannst Du unter Lisp= "Startgruppe" einbinden, damit es immer automatisch geladen wird!Dominik
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Auswahlsatz, Filter für selectionsets
otm am 19.10.2009 um 23:19 Uhr (0)
Hi alfred,hab hier mal zum besseren Verständnis meine Aufgabenstellung zusammengeschrieben.Workflow 2D-Längen- und 2D-Flächenermittlung:1. Benutzereingabe: Objekte auf unterschiedlichen Layern erstellen (Polylinien, Kreise oder Ellipsen, Linien, Blockreferenzen, ....) Es gibt 3 Layerkategorien Längen, Flächen und Texte Ein Layer enthält also entweder nur Längen (- Längen ermitteln) oder nur Flächen (- Flächen ermitteln) oder nur Texte (- wird nicht ausgewertet) Mischformen sind nicht zulässig ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VBA und 3D
alfred neswadba am 31.10.2009 um 20:50 Uhr (0)
Hi Dirk, Mit dem Befehl Umbrenzungdamit beginnt leider schon der erste Problempunkt, diesen Befehl gibt es nicht per API, den kannst Du nur per SendCommand oder per Lisp (command "_bpoly" ... anstarten, es gibt keinen Rückgabewert, eben alle Nachteile, die SendCommand so bringt.Hast Du die Polylinie, kannst Du diese, wie Du schon in den Folgepunkten angeführt hast, extrudieren und (nachdem der Anwender Deiner Applikation den Basisvolumenkörper geklickt hat) auch mittels _subtract weiterarbeiten.Also ist de ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Auswahl ohne SelectonScreen
alfred neswadba am 02.11.2009 um 21:50 Uhr (0)
Hi,mit VBA kannst Du zwar ein Highlight der Entities auslösen, diese aber nicht mit Griffen versehen. Dazu benötigst Du einen Umweg über Lisp bzw. SendCommand eines Lisp-Befehls, der mit sssetfirst agiert.Siehe auch hier- alfred -------------------www.hollaus.at
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Auswahl ohne SelectonScreen
alfred neswadba am 03.11.2009 um 17:00 Uhr (0)
Hi, Wie muss der SendCommand-Befehl aussehen ?Ich hab doch oben einen Link hineingepackt, in dem der Syntax doch enthalten ist. Hier nochmals:Code:(setq pickset (ssadd (handent "dein objekt handle")))(sssetfirst pickset pickset)Und je nachdem, wie schön es sein soll, kannst Du im einfachsten Fall die erste Zeile für jeden Elementhandle wiederholen. Wenn Du das SelectionSet durch hast, dann die zweite Zeile starten.Soll es schöner sein (weil bei größerer Anzahl von Elementen halt viele Zeilen in den Befehls ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Linie auf Polylinie trimmen
alfred neswadba am 02.12.2009 um 09:22 Uhr (0)
Hi,Code: Dim tPLine As AcadLWPolyline Dim tLine As AcadLine ...tPLine und tLine sollten durch Einleseroutine ja schon bekannt sein Dim tIntPnts As Variant tIntPnts = tLine.IntersectWith(tPLine, acExtendThisEntity) und hier stehen dann die Schnittpunkte drin Wie ruft man die Befehle von VBA aus auf ? Mit SendCommand, aber was ?SendCommand ist hier absolut fehl am Platz, da Du Klicks am Bildschirm durchführen musst (um die Seite der Dehnung zu bestimmen), sollten dann aber mehrere Elemene übereinander ...
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Ansichtsfenster per VBA zuschneiden
idraH am 15.12.2009 um 14:11 Uhr (0)
danke erstmal für die (wenn auch ernüchternde) Antwort.da ich Position und Maße des SF und des AF kenne, würde ich gern auf eine manuelle Aktion (wählen der Polylinie) verzichten. Könnte ich an "SendCommand" eine zuvor erzeugte Polylinie übergeben, so dass keine Nutzeraktion nötig wird?Programmierung läuft rein in VBA und Lisp hab ich mich leider bis jetzt immer vor gedrückt.Könnte ev. noch irgendwas über XDATA laufen? (Friere darüber einige Layer im AF)?viele Grüße, Hartmut
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : Ansichtsfenster per VBA zuschneiden
alfred neswadba am 15.12.2009 um 13:59 Uhr (0)
Hi,Methode (bzw. ein abgeleitetes Interface zu AcadPViewport mit Funktionen dafür) hätte ich auch nicht gefunden. Es wird voraussichtlich darauf hinauslaufen müssen, dies mit SendCommand "_mview" & vbCr & "_o" & vbCr abzuhandeln und eine zuvor erzeugte Polylinie bzw. Region dann zu wählen.Arbeitest Du ev. mit dotNET == da schon. Obs mit Lisp ginge, kann ich Dir leider nicht sagen (würde aber mal nicht ausschliessen, auch da zu suchen).Sorry, - alfred -------------------www.hollaus.at
|
In das Form AutoCAD VBA wechseln |
|
AutoCAD VBA : VS2008 VB.Net acDoc.SendStringToExecute
CAD-Huebner am 24.02.2011 um 15:11 Uhr (0)
steht für Newline bzw. Enter in Lisp und auch C#.net, deshalb mein Schnellschuss. Aber bei VB.net ist es VBCr (wie mich auch schon Alfred korrigierte).------------------Mit freundlichem GrußUdo Hübnerwww.CAD-Huebner.de[Diese Nachricht wurde von CAD-Huebner am 24. Feb. 2011 editiert.]
|
In das Form AutoCAD VBA wechseln |