• Dieses Forum ist die maschinengenerierte Übersetzung von www.cad3d.it/forum1 - der italienischen Design-Community. Einige Begriffe sind nicht korrekt übersetzt.

Irgendwelche Vorschläge?

  • Ersteller Ersteller Shape
  • Erstellt am Erstellt am
... Ich schwöre, ich versuche unter meinen Kopf zu kommen, aber mit der Vba noch unter meiner Hand kann ich mein Leben nicht wirklich kompliziert machen... grgrgrgrggrgr
Seien Sie still und studieren, ohne sich zu beschweren, was dann werden wir Ihnen viele Übungen zu Hause geben! :biggrin:
 
Seien Sie still und studieren, ohne sich zu beschweren, was dann werden wir Ihnen viele Übungen zu Hause geben! :biggrin:
Ich versuche zu Osmose. aber es scheint nicht viel zu funktionieren! :confused:
6360757-uomo-contenere-un-computer-portatile-come-un-tetto-di-casa-isolated-on-white-Programmatore-allegro-g.jpg
aber es gibt zu sagen, dass neben verschiedenen "gegen" vb.net scheint ein wenig stabil zu sein noch starrer und vermasselt am Würfel.
 
Zugriff auf Schichten, um ihre Eigenschaften anzuzeigen:
Code:
private Funktion get_layxdata() als Array
dim myxdata als Array = nichts
db als Datenbank verwenden = thisdatabase
Verwendung von tr als autodesk.autocad.databaseservices.transaction = tr_start
Verwendung von lt als Schichttisch = tr.getobject(db.layertableid, openmode.forread)
mit r als Layertablerecord = tr.getobject(lt("0"), openmode.forread)
wenn r.xdata <> Nichts.
myxdata = r.xdata.asarray
Ende
tr.commit()
Ende mit
Ende mit
Ende mit
Ende mit
zurück zur Übersicht
Endfunktion
in diesem konkreten Beispiel frage ich die an der Schicht "0" angebrachten xdata

Sag hallo.
 
Ich weiß, es ist eine alte Post, aber da es so wenig Dokumentation auf Italienisch Ich möchte die Komplexität von vb.net betonen,
während mit vba eine Linie zu erstellen, die wir schrieben:
Code:
Sub addline()
dim ptstr(0 bis 2) als doppelt
ptstr(0) = 5: ptstr(1) = 5: ptstr(2) = 0#
dim ptend(0 bis 2) als doppelt
ptend(0) = 12: ptend(1) = 3: ptend(2) = 0#

' ein Zeilenobjekt im Modellraum erstellen
dim lineobj als acadline
set lineobj = thisdrawing.modelspace.addline(ptstr, ptend)

Endteil
mit vb.net müssen Sie schreiben. .
Code:
autodesk.autocad.runtime importieren
autodesk.autocad.applicationservices importieren
autodesk.autocad.databaseservices importieren
autodesk.autocad.geometry

<commandmethod("addline")> - Ja.
Public sub addline()
'' erhalten Sie das aktuelle Dokument und die Datenbank
dim acdoc als Dokument = application.documentmanager.mdiactivedocument
dim accurdb als Datenbank = acdoc.database

'' Beginn einer Transaktion
actrans als Transaktion = accurdb.transactionmanager.starttransaction()

'' öffnen Sie die Blocktabelle zum Lesen
dim acblktbl als blockierbar
acblktbl = actrans.getobject(accurdb.blocktableid, openmode.forread)

'' öffnen Sie den Block-Tabellenrekord-Modellraum für schreiben
dim acblktblrec als blocktablerecord
acblktblrec = actrans.getobject(acblktbl(blocktablerecord.modelspace), _
openmode.forwrite)

'' erstellen Sie eine Linie, die bei 5,5 beginnt und endet bei 12,3
dim acline as line = new line(new point3d(5, 5, 0), new point3d(12, 3, 0))

acline.setdata basedefaults()

'' Fügen Sie das neue Objekt zum Block-Tabellenrekord und der Transaktion hinzu
acblktblrec.appendentity(acline)
actrans.addnewlycreateddbobject(acline, true)

'' das neue Objekt in der Datenbank speichern
actrans.commit()
Ende mit
Endteil</commandmethod("addline")>
Und?
bleib in vba, bis du kannst, das ist eine "Benutzerfreundlichere" Sprache

Jedenfalls fange ich an, Bibliotheken (.dll) zu laden in nanocad
geschrieben und kompiliert in ms visuellstudio (kostenlos)
wenn Sie eine Hand brauchen, machen Sie eine Pfeife
 
Manchmal frage ich mich, warum es im Netzwerk so viele Beispiele von "all the same" Code gibt... jetzt erinnere ich mich, wo ich es sah.... Kopieren und Einfügen aus dem Autocad Guide

Code, um einen Befehl zu erstellen, der eine einfache Zeile zu vb hinzufügt. net oder c# oder f# muss nicht unbedingt so prolisso sein

vb.net
Code:
autodesk.autocad.runtime importieren
autodesk.autocad.interop
Importe Anwendung = autodesk.autocad.applicationservices.application

Namespace ac2018_demo
klasse mydemo
 <commandmethod("addline")>Public Shared Sub addline()
dim acapp as acadapplication = ctype(application.acadapplication, acadapplication)
acapp.activedocument.modelspace.addline(neues Doppel() {0, 0, 0}, neues Doppel() {10, 10, 0})
Endteil
Endklasse
Endnamespace</commandmethod("addline")>
c)
Code:
mit autodesk.autocad.runtime;
mit autodesk.autocad.interop;
Anwendung = autodesk.autocad.applicationservices.application;

Namespace ac2018_demo
{\cHFFFF}
klasse mydemo
{\cHFFFF}
 [CommandMethod("AddLine")]öffentliche statische Leerzeichen-Addline()
{\cHFFFF}
acadapplication acapp = (Akadapplication)application.acadapplication;
acapp.activedocument.modelspace.addline(neues Doppel[] { 0, 0, 0}, neues Doppel[] { 10, 10, 0 });
}
}
}
f)
Code:
autodesk.autocad.runtime
autodesk.autocad.interop
autodesk.autocad.applicationservices öffnen

Modul ac2018_demo =

Typ mydemo() =
 [<CommandMethod("AddLine")>]statischer Glied addline() =
acapp = Application.acadapplication:?> acadapplication
acapp.activedocument.modelspace.addline([| 0.0; 0.0; 0.0 |], [| 10.0; 10.0; 0.0 |])
Achtung! Dieser Code wurde als Beispiel geschrieben und kann Transkriptionsfehler enthalten, verwenden Sie ihn nicht, wenn nicht in Anwesenheit eines Erwachsenen! :roflmao::roflmao::roflmao:roflmao:roflmao:roflmao:roflmao:
 

Statistik des Forums

Themen
58.521
Beiträge
499.056
Mitglieder
104.110
Neuestes Mitglied
ChristianR

Zurzeit aktive Besucher

Keine Mitglieder online.
Zurück
Oben