|
Autocad VBA : Segmentlänge eines Objektes bestimmen
CADmium am 24.11.2005 um 13:09 Uhr (0)
Randbemerkung:.. in Lisp läßt es sich rel. einfach über die vlax-curve.. Funktionen realisieren.------------------ - 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 : Sendcommand Ausgabe Textfenster unterdrücken
Goofy007 am 27.12.2005 um 10:37 Uhr (0)
Hallo Thomas,Danke für die Antwort. Nomutt und cmdecho bringen leider nix.Ich hab allerdings jetzt noch ein neues Problem.Nach Ausführung des Makros, kann ich es nicht mit der Befehlswiederholung (Leertaste) nochmal aufrufen, weil ich da immer den von Sendcommand aufgerufenen Befehl bekomme.Ich versteh leider nur wenig von Lisp, aber ich überleg schon ob das nicht besser im Lisp geschrieben werden sollte.Ich stell mal den Code hier rein, vielleicht bekomm ich ja noch ein paar gute Tipps.Code:Sub Attribut_V ...
|
In das Form Autocad VBA wechseln |
|
AutoCAD VBA : Programmoptimierung
Dirk.B am 15.01.2006 um 19:36 Uhr (0)
Hallo Stelli!Für die Farbzuordnung such ich noch eine Lösung, wie in den Bildchen dargestellt.Dieses hab ich aus einem anderen Lisp-Formular mal rauskopiert.Vielleicht kannst Du mir da ja mal wieder helfen.GrußDirk
|
In das Form AutoCAD VBA wechseln |
|
Autocad VBA : Kampf mit Bemassungen
Mike_mair am 23.01.2006 um 15:56 Uhr (0)
Das ist aber leider wirklich so, ich weis es jedenfalls mal vom AutoCAD 2005 und im AutoCAD 2006 habe ich auch noch nichts anderes gesehen.Weiters hat das sprengen im VBA auch mit Blöcken Probleme die eine unterschiedliche Skalierung X,Y und Z haben.Ich habe mal einen eigenen Ursprungsbefehl programmiert und da habe ich dann einfach meine Bemaßungen mit dem VBA Befehl: ThisDrawing.SendCommand "(Command " & Chr(34) & "_Explode" & Chr(34) "(handent " & Chr(34) & strHandleNo & Chr(34) & "))" & vbCrDie strHand ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Anfänger sucht Hilfe
Big Sven am 24.01.2006 um 15:21 Uhr (0)
Hallo Nancy!Vielen Dank für Deinen Tipp! Hat mir wirklich sehr geholfen. Kannst Du mir jetzt auch noch sagen, wie ich einen zweiten Text durch Auswählen mit dieser Information befüllen kann? Ich dachte da an:ThisDrawing.Utility.GetEntity ObjText2, p2, "Wählen Sie einen Zieltext:"If TypeName(ObjText2) = "IAcadText2" Then ObjText2 = TextString.UebergabeTextEnd IfDas funktioniert auch nicht so recht. Und ich habe immer gehört, dass VBA viel einfacher als Lisp sein soll!?!Gruß Sven
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf einer Lisp-Routine
InesP am 26.01.2006 um 08:56 Uhr (0)
Hi Leute,mal ne ganz blöde Frage: Kann man eigentlich innerhalb eines VBA-Programms eine Lisp-Routine aufrufen? Oder muß ich versuchen das was das Lisp-Programm tut in VBA umzuschreiben?Gruß Ines
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf einer Lisp-Routine
CADmium am 26.01.2006 um 09:00 Uhr (0)
hab zwar 0-Ahnung von VBA, aber probiermal was in der Richtung sendcommand "(MeineLisprotuine ..)" ------------------ - 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 : Aufruf einer Lisp-Routine
InesP am 26.01.2006 um 09:53 Uhr (0)
Hi CADmium,danke für deine Antwort. Sendcommand funktioniert insofern, das das Aufrufkommando für die Lisproutine in der AutoCAD-Befehlszeile erscheint. Allerdings muß ich dann im AutoCAD noch Enter drücken, damit die Routine auch wirklich startet. Kann ich das Drücken der Entertaste auch noch in das VBA-Programm integrieren, damit die Lisproutine automatisch abgearbeitet wird?Gruß Ines
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Aufruf einer Lisp-Routine
CADmium am 26.01.2006 um 09:59 Uhr (0)
hilft ein sendcommand mit " " (Leerzeichen) hinterher ? ..oder gleich das Leerzeichen an den Lipsnamen mit ranhängen------------------ - 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 : Aufruf einer Lisp-Routine
InesP am 26.01.2006 um 10:13 Uhr (0)
Hi CADmium,deine Antwort war super. Einfach Leerzeichen an den Lispnamen dranhängen und schon klappt die Sache. Ich bin jedenfalls happy. Die Unities sind unterwegs. Danke!Gruß Ines
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Block einfügen / Sichtbarkeit
Carsten1210 am 02.02.2006 um 19:53 Uhr (0)
Hallo Dirk,Probier mal folgende Lisp- und VBAzeilen:Lisp:------(defun blockIn(blockname)(princ)(setvar "cmdecho" 0);Unterdrücken der Befehle in der Befehlszeile(Command "_-Insert" Blockname pause "1.0" "1.0" "0" ) ;Einfügen des Blocks Blockname, positionieren, X-Skalierun auf 1, Y-Skalierung auf 1 und Drehung = 0°(command "_explode" "_Last" );Block sprengen(Setvar "cmdecho" 1);Befehle in der Befehlszeile wieder ausgeben(princ))----------------------------------------------------------------------VBA:-----T ...
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Block einfügen / Sichtbarkeit
Carsten1210 am 07.02.2006 um 15:21 Uhr (0)
Hallo Dirk,Packt den Lisp Code mal in den (Text-) Editor und speicher das als .lsp-Datei. Diese musst du dann per Appload in AutoCAD laden.Die Variable "Blockname" übergibt dann in VBA den Namen des einzufügenden Blocks.Spiel mal ein bißchen damit rum.Bin gerade auf ne ADT 2006 Schulung. Schaue heute Abend noch mal rein.Gruß, Carsten
|
In das Form Autocad VBA wechseln |
|
Autocad VBA : Gruppencode und Gruppentyp herausfinden
Goofy007 am 09.02.2006 um 08:38 Uhr (0)
Hallo Florian,zu deiner ersten Frage: Was ist ein Frame, bzw. Zeichnungsrahmen? Ich kenne so ein Element in Autocad nicht. Versuch doch den Lisp-Ausdruck von Udo anzuwenden!Zur Frage der Selektionen hab ich ein paar Vorschläge.Abhängig von der Aufgabenstellung gibt es folgende Möglichkeiten.Wenn du alle Element der Zeichnung bearbeiten willst, dann ersetzte .SelectOnScreen duch ein .SelectAll das verlangt keine Benutzereingaben.Wenn du immer den gleichen Bereich bearbeiten willst, dann hast du zwei Möglich ...
|
In das Form Autocad VBA wechseln |