|
AutoCAD ARX Object : .Net und AutoCAD LT+Extender....
Hunchback am 23.10.2008 um 15:12 Uhr (0)
Wir haben vor ein paar Monaten eine .net-Anwendung auf unserem LT-Rechner (AuotCAD LT 2007 mit Extender) am Laufen gehabt.Jetzt wollten wir wiede eine .net Sache ausprobieren und erhalten diese Fehlermeldung: Zitat:NETLOAD Assembly kann nicht geladen werden. Fehlerdetails: System.Security.SecurityException: Sicherheitsfehler bei Autodesk.AutoCAD.ApplicationServices.ExtensionLoader.ProcessAssembly(Assembly assembly)Die Zone der Assembly, bei der ein Fehler aufgetreten ist:MyComputerDas Programm, das auch s ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : ObjectID aus ResultBuffer bekommen
Hunchback am 11.11.2008 um 12:32 Uhr (0)
Wir sind gerade dabei ein paar unserer Lisp-Funktionen zu Lernzwecken in c# umzuschreiben. Bei der Funktion getattribscheitern wir aber momentan. Wie bekommt man aus dem ResultBufferdie ObjectID? Code:using Autodesk.AutoCAD;using Autodesk.AutoCAD.Runtime;using Autodesk.AutoCAD.ApplicationServices;using Autodesk.AutoCAD.DatabaseServices;using System;namespace LispApp{ public class GetAttributes { [CommandMethod("GETATTRIB#")]/*Aufruf von Lisp in der Form (getattrib (car (entsel)) "ATRRIBUTSNAME") *Rückgabe ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : ObjectID aus ResultBuffer bekommen
Hunchback am 11.11.2008 um 13:35 Uhr (0)
Ok, hier wärs. Wir haben das Projekt mit SharpDevelop erstellt, ich hoffe Visualstudio kommt damit zurecht.------------------You seem (in my (humble) opinion (which doesnt mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : ObjectID aus ResultBuffer bekommen
Hunchback am 11.11.2008 um 15:25 Uhr (0)
Danke Alfred! Funktioniert tadellos. Ich werd aber die Rückgabe trotzdem als ResultBuffer realisieren müssen, weil die Funktion bei nichtvorhandensein eines Attributes ein nil zurückgeben sollte (bei "" weiß ich ja nicht ob das Attribut leer ist oder nicht vorhanden).Oder gibts da eine andere Lösung?Nochmals dankschön + GrüßeMartin ------------------You seem (in my (humble) opinion (which doesnt mean much)) to be (or possibly could be) more of a Lisp programmer (but I could be (and probably am) wrong).
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : ObjectID aus ResultBuffer bekommen
alfred neswadba am 11.11.2008 um 15:38 Uhr (0)
Hi,könntest probieren Nothing zurückzugeben, habs aber jetzt nicht probiert. Wenn das nicht geht, dann wird wohl ResultBuffer notwendig sein. Mehr Ideen hätte ich nicht dazu.Pfusch-Lösung, aber schneller programmiert wäre ein definierter FehlerString, der in Attributswerten nicht vorkommen kann, z.B. "ErrErrErr" oder Du kannst auch in den Lispaufruf als weiteres Argument den String mitgeben, der im Fehlerfall retourniert werden soll und den verwendest Du dann.(getattr (car (entsel)) "ATTNAME" "ErrErrErr")a ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.net Objekt laut Referenznummer finden
fuchsi am 27.02.2009 um 15:05 Uhr (0)
wie im Titel schon gesagt, suche ich eine einfache Methode, um über die Referenznummer an Objekt zu kommen (ähnlich wie Handent in Lisp)Momentan bekomme ich über den Transactionmanager den Modellbereich und gehe hier alle Objekte durch, bis das Objekt mit der gesuchten Referenznummer gefunden habe.Gibts da nichts einfacheres???
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : Error handler re-entered
alfred neswadba am 27.04.2009 um 20:47 Uhr (0)
Hi,ich kenne das eigentlich eher aus Lisp als aus dotNET (da eigentlich noch nie gesehen). Umschrieben mit einfachen Worten bedeutet das, dass ein Fehler aufgetreten ist, eine Fehlerbehandlungsroutine gestartet wird, in dieser auch ein Fehler ist und damit ein nettes Schleifchen gezaubert. Um nicht in Rekursion ohne Ende zu fallen, wird mit dieser Meldung abgebrochen.Ohne Code, keine Chance, sorry. Umso schlimmer, wenn der Fall nicht fix reproduzierbar ist.- alfred -------------------www.hollaus.at
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.NET Specified cast is not valid.
fuchsi am 27.04.2009 um 16:36 Uhr (0)
Wir haben in einer Managed DLL eine Routine für Lisp, die einfach ein externes Programm startet, und auf deren Beendigung wartet. (ähnlich dem Lispbefehl (startApp "notepad"), jedoch mit warten auf die Beendigung.Das funktioniert auch auf den meisten Rechnern (momentan auf ca. 40 Rechhner gestestet). leider kommt jedoch bei manchen Rechnern folgende Fehlermeldung in der Autocad BefehlszeileBefehl (startapplication "notepad") Anmerkung Notepad startet, und autocad wartet bis zum Schliessen, und dann komm ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.NET Specified cast is not valid.
fuchsi am 28.04.2009 um 11:37 Uhr (0)
in einem PDF der Autodesk Univerity habe ich foglende Aussage gelesen.Code:In these examples the LISP function name is HelloWorld. When the (HelloWorld) function isrun from AutoLISP the .NET helloWorld function will be called. Notice that a ResultBuffer ispassed into the function and is returned. The ResultBuffer contains arguments that allow data tobe passed between AutoLISP and the .NET function. In AutoCAD 2008 a ResultBuffer is theonly type that can be returned. This should not be a major issue as the ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.NET Specified cast is not valid.
fuchsi am 28.04.2009 um 13:45 Uhr (0)
Einen gravierenden Nachteil hat der Resultbuffer: Er gibt alles mittels Klammer zurück !!!z.B.:Code:[LispFunction("Test")]public ResultBuffer LispFunctionsREPLACE(ResultBuffer args){ ResultBuffer tResultBuffer = new ResultBuffer(); tResultBuffer.Add(new TypedValue((int)LispDataType.Text, "zurückzugebendeer String")); return tResultBuffer;}(test) ergibt ("zurückzugebendeer String")Code:[LispFunction("Test")]public String LispFunctionsREPLACE(ResultBuffer args){ return "zurückzugebendeer String";}(test) ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.net Objekte als gewählt markieren
fuchsi am 07.05.2009 um 15:13 Uhr (0)
Ich möchte mir mit C#.NET einen eigenen Filterbefehl schreiben (um z.B.: Objekte in der Zeichnung nicht nach layer, farbe usw. sondern nach EED-Inhalten zu markieren)In etwas so: markiere mir alle Blöcke, die in den EEDs den Lieferanten XYZ und die Bestellserie ZYX haben. Danach soll der Benutzer mit Standard Autocad Befehlen (Schieben, Löschen was auch immer) diese Selektion verwenden können. Wie halt der klassische FilterbefehlWie ich die Objekte suche, und die EEDs auslese, ist bekannt. (auchd er EED AU ...
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : aus einer Liste von Entities einen Auswahlsatz erstellen
fuchsi am 29.06.2009 um 09:58 Uhr (0)
Ich habe in C#.NET eine Liste mit Entities.Daraus möchte ich nun einen Auswahlsatz erstellen, wie geht das ? (Ähnlich dem SSADD aus Lisp)//meine Listepublic ListEntity iSelecetedObjects = new ListEntity();ich dachte ich gehe die Liste einfach mit foreach durch, und füge das Entity einfach dem Auswahlsatz hinzuforeach (Entity tEntity in iSelecetedObjects ){??????????????}
|
In das Form AutoCAD ARX Object wechseln |
|
AutoCAD ARX Object : C#.net Objekte als gewählt markieren
alfred neswadba am 30.06.2009 um 15:46 Uhr (0)
Hi,lerne ich jetzt gerade was oder ists nur ein gedanklicher Fehler?Wenn Du eine Lisp-Funktion deklarierst, ist da die Deklaration nicht Code:[LispFunction("C:ASW1")]public SelectionSet ArtikelAuswahl1(ResultBuffer args)statt ...CommandMethod...?In jedem Fall aber Üs fürs selbst herausfinden und dann bereitstellen! Danke Heisst das auch, dass Du im Lisp jetzt das Implied-SelectionSet wirklich während des transparenten Aufrufs verändern kannst? Da bist Du aber mächtig tief eingedrungen, Hochachtung! - alf ...
|
In das Form AutoCAD ARX Object wechseln |