|
AutoCAD ARX Object : Enhanced Attribute Editor
Enza am 15.07.2010 um 09:29 Uhr (0)
Vielen Dank für eure Antworten!Lisp habe ich nicht mehr ausprobiert, mit dem Handle funktioniert es und sieht jetzt so aus:doc.SendStringToExecute("_eattedit (handent "" + br.Handle.ToString() + "") ", false, false, false);Viele Grüsse,Insa
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Pause bei Sendcommand
Theo37 am 29.07.2010 um 16:33 Uhr (0)
Hallo an Alle,eine Frage an die VB-Spezialisten.Ich möchte folgende Zeilen von Lisp nach VP übersetzen:(defun c:nk1 () (command "einfüge" "X:ACAD-SymboleLispsymboleNk.dwg" Pause "1" "1" "0") (command "ursprung" "l"))Es soll immer der gleiche Block, mit der gleichen Drehung und Skalierung eingefügt werden. Nur der Einfügepunkt soll vom Benutzer frei gewählt werden können. Dazu sollte der Block an der Maus hängen.Mit Sendcommand eigentlich kein Problem. Aber was mach ich mit dem Einfügepunkt? In List schreib ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Pause bei Sendcommand
alfred neswadba am 30.07.2010 um 13:55 Uhr (0)
Hi,ein simples Beispiel dazu: Du startest meinen Befehl CADde_PLineClosed, dieser schickt an AutoCAD den Befehl _PLINE.Diese App setzt dann, wenn der Anwender mit der Polylinienerstellung fertig ist (entspricht/ersetzt eben PAUSE in LISP) wieder fort, überprüft, ob die Polylinie geschlossen ist und wenn nicht, wird diese Polylinie geschlossen. Das entspricht dann der Fortsetzung Deines Programms, ob Du dann jetzt Explode einer Blockreference machst oder sonstwas, das Handling ist gleich.Ich habe in diesem ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Umstieg ACA2008 ACA2011
alfred neswadba am 04.08.2010 um 18:36 Uhr (0)
Hi,@Werner: Also die 2008er DLLs in ACAD 2011 ladenNee, so nicht. Denn 2008 API ist nicht kompatiblel zu 2010 API, Du kannst zwar mit einigermaßen hoher Wahrscheinlichkeit für 2008 gebaute DLLs mit 2009 (und sogar 2007) laden, aber mit 2010 gabs einen Bruch (der managed API signatures) und damit würde ich (solange man nicht nur an COM oder LISP denkt) die fehlerfreie Lauffähigkeit sehr stark bezweifeln. Vielleicht auch "Late Binding" - könnte auch gehn.Ja könnte, nur - persönliche Meinung - wer LateBinding ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Rückgabewert von Befehlen
alfred neswadba am 30.09.2010 um 17:38 Uhr (0)
Hi,wenn Du Fehlerkontrolle brauchst, dann bist Du mit SendCommand nicht gerade am besten Weg. Denn Commands in AutoCAD liefern keinen Rückgabewert.Mit dem aktuellen Verständnis, wie Deine App derzeit läuft (externe EXE, die dem AutoCAD Befehle schickt, so vermute ich mal), würden mir folgende Varianten einfallen:a) Du nutzt während des Programmablaufs die User-Variablen (z.B. USERI1), schreibst je nach Status in Deinem internen Ablauf eine Ergebnisnummer hinein, diese Variable kannst Du dann auch aufrufenb ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Absolutbetrag einer Fläche
mOfl am 16.10.2010 um 00:45 Uhr (0)
Hallo,die Odyssee geht weiter obwohl die Flächenermittlung laut Google ein heißes Thema zu sein scheint, habe ich irgendwie keinen anständigen Weg gefunden, an die Flächen meiner MPolygone zu kommen. Auf Through the Interface habe ich dann ein paar interessante Einträge über Fields gelesen und bin zu folgendem Ergebnis gekommen:Code:MText text = new MText();text.SetContentsRtf("%AcObjProp Object(%\_ObjId " + id + "%).Area f "%lu2%pr2"%");Das klappt im Prinzip auch, nur leider sind alle Flächen negativ. Ic ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Doppelklick auf Attributref
alfred neswadba am 18.11.2010 um 10:43 Uhr (0)
Hi,kurz in LISP die Vorgehensweise (weils weniger Zeilen sind), wie _EATTEDIT bedient werden kann, damit das richtige Attribut im Dialog aktiviert ist:Befehl: (setq myATT (nentsel)) == da zeigst Du mal ein Attribut Deines Blocksdann:Befehl: _EATTEDITWählen Sie einen Block: !myATTRückschluß daraus: übergibst Du dem Befehlsaufruf das Attributsobjekt, dann bekommst Du das richtige Attribut. Probiers mal.In dotNET musst Du jetzt nur noch herausfinden, welches Attribut des Blocks unter dem zuletzt geklickt ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Kopierschutz mittels Abfrage der AutoCAD Lizenz
alfred neswadba am 19.11.2010 um 16:32 Uhr (0)
Hi,eine einfache Variante ist die AutoCAD-Seriennummer abzufragen und mit eine Liste zu vergleichen.Vorsicht aber, wenn Du das mit C++ machst OK, wenn Du dies aber mit dotNET machst, ist Dein Code fast frei lesbar, also kein wirklicher Schutz für Programmierer.Abfrage der Seriennummer geht über die Variable _PKSERIn Lisp als Beispiel (getvar "_PKSER")Alternative Variante kann sein, dass Du aus dem System den Namen des Domain-Controllers ausliest. Das sollte auch gültig sein, wenn Du Dich mal mit dem Laptop ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Kopierschutz mittels Abfrage der AutoCAD Lizenz
CADmium am 19.11.2010 um 16:58 Uhr (0)
wie wäre es mit (in in Lisp umgesetz) Abfrage von WScript.Network(setq wscript (vlax-create-object "WScript.Network") (setq RETURN (list (vlax-get-property wscript "ComputerName") (vlax-get-property wscript "UserDomain") (vlax-get-property wscript "UserName") ) )(vlax-release-object wscript)das Objekt "wbemScripting.SwbemLocator" liefert auch so einiges ... ------------------ - Thomas - "Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Kopierschutz mittels Abfrage der AutoCAD Lizenz
sebastian. am 19.11.2010 um 17:03 Uhr (0)
Leider bin ich in Lisp alles andere als fit...wie führe ich deinen Code also aus?Und welche Informationen bekomme ich damit / wie kann ich das für meine Zwecke nutzen?Grüße, Sebastian
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Linientyp in der ganzen Zeichnung ersetzen
autocart am 27.11.2010 um 22:52 Uhr (0)
Hallo an Alle!Mein Problem habe ich bereits hier im Lisp-Forum beschrieben.Jetzt habe ich vielleicht einen Lösungsansatz in .NET gefunden:Was ist von der Funktion DatabaseServices.DBObject.SwapReferences(DatabaseServices.IdMapping idMap) zu halten? Gibt es da etwas Wichtiges zu beachten oder ist die sonst irgentwie nicht geeignet?Danke für jeden Ratschlag.------------------Gruß, Stephanwww.stbartl.at"Alles sollte so einfach wie möglich gemacht werden, aber nicht einfacher." - Albert Einstein
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Linientyp in der ganzen Zeichnung ersetzen
alfred neswadba am 27.11.2010 um 23:13 Uhr (0)
Hi,Du kannst genauso Dir diese Methoden ansehen:DBObject.HandOverToDBObject.SwapIdWithZu finden in Help/Doc ObjectARX for AutoCAD xxxx: Managed Class Reference Guide (arxmgd.chm) unter:Autodesk.AutoCAD.DatabaseServices Namespace DBObject Class DBObject MethodsDiese haben alle ihre Berechtigung, natürlich auch Deine Methode DBObject.SwapReferences.Ich hab auch den Thread im LISP-Forum gelesen und dabei aber nicht alle Varianten erklärt gesehen, die vorkommen könnten. Z.B. Könnte die Situation vorkommen, d ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Enter Befehl in der Eingabezeile
Brischke am 07.01.2011 um 11:22 Uhr (0)
@alfred,stimmt. Ist mir noch nicht aufgefallen, da ich Command-Strings meist als Lisp-Commandos absetze, da kommt ein Leerzeichen an das Ende und dann funzt es.Grüße Holger------------------Holger BrischkeCAD on demand GmbHIndividuelle Lösungen von Heute auf Morgen. defun-tools Das Download-Portal für AutoCAD-Zusatzprogramme!
|
In das Form AutoCAD ARX Object wechseln |