• Ce forum est la traduction générée par la machine de www.cad3d.it/forum1 - la communauté italienne du design. Plusieurs termes ne sont pas traduits correctement.

Des suggestions ?

  • Auteur du sujet Auteur du sujet Shape
  • Date de début Date de début
... je jure que j'essaie de me mettre sous la tête, mais avec la vba encore sous ma main je ne peux pas vraiment rendre ma vie compliquée par mon cube... grgrgrgrgrgrgrgrgrgr
taisez-vous et étudiez sans vous plaindre, que nous vous donnerons alors de nombreux exercices à faire à la maison! :biggrin:
 
taisez-vous et étudiez sans vous plaindre, que nous vous donnerons alors de nombreux exercices à faire à la maison! :biggrin:
j'essaie d'osmose. mais ça ne marche pas beaucoup ! :confus:
6360757-uomo-contenere-un-ordinateur-portatile-come-un-tetto-di-casa-isolée-sur-blanc-programmatore-allegro-g.jpg
mais il est à dire qu'en plus de divers vb.net "contre" semble un peu stable étant encore plus rigide et gâché au cube.
 
comment accéder aux calques pour afficher leurs propriétés :
Code:
fonction privée get_layxdata() comme tableau
dim myxdata comme tableau = rien
utilisant db comme base de données = cette base de données
utilisant tr comme autodesk.autocad.databaseservices.transaction = tr_start
utilisant lt comme calque = tr.getobject(db.layertableid, openmode.forread)
utilisant r comme calquetable record = tr.getobject(lt("0"), openmode.forread)
si r.xdata <> alors rien
myxdata = r.xdata.asarray
fin si
tr.commit()
fin de l'utilisation
fin de l'utilisation
fin de l'utilisation
fin de l'utilisation
retourner myxdata
fin de la fonction
dans cet exemple spécifique, je demande la xdata attachée au calque "0"

dis bonjour.
 
Je sais que c'est un vieux post mais comme il y a si peu de documentation en italien, je voudrais souligner la complexité de vb.net,
alors qu'avec vba pour créer une ligne nous avons écrit:
Code:
sous addline()
dim ptstr(0 à 2) double
pstr(0) = 5: pstr(1) = 5: pstr(2) = 0#
dim ptend(0 à 2) double
ptend(0) = 12: ptend(1) = 3: ptend(2) = 0#

' créer un objet ligne dans l'espace modèle
dim lineobj en acadline
set lineobj = thisdrawing.modelspace.addline(ptstr, ptend)

fin sous
avec vb.net vous devez écrire. . . .
Code:
importations autodesk.autocad.runtime
importations autodesk.autocad.applicationservices
Importations autodesk.autocad.databaseservices
importations autodesk.autocad.géométrie

<commandmethod("addline")> _
sous-ajout public()
'' obtenir le document actuel et la base de données
dim acdoc comme document = application.documentmanager.mdiactivedocument
dim accrdb comme base de données = acdoc.database

Démarrer une transaction
utilisant actrans comme transaction = accordb.transactionmanager.starttransaction()

'' ouvrir la table de blocs pour lire
dim acblktbl comme blocktable
acblktbl = actrans.getobject(accurdb.blocktableid, openmode.forread)

'' ouvrir l'espace de modèle d'enregistrement de table de bloc pour écrire
dim acblktblrec comme blocktablerecord
acblktblrec = actrans.getobject(acblktbl(blocktablerecord.modelspace), _
openmode.forwrite)

'' crée une ligne qui commence à 5,5 et se termine à 12,3
Dim acline comme ligne = nouvelle ligne(nouveau point3d(5, 5, 0), nouveau point3d(12, 3, 0))

acline.setdatabasedefaults()

Ajouter le nouvel objet à l'enregistrement de la table de blocs et à la transaction
acblktblrec.appendence(acline)
actrans.addnewlycreateddbobject(acline, true)

'' sauvegarder le nouvel objet dans la base de données
actrans.commit()
fin de l'utilisation
fin sous</commandmethod("addline")>
Alors ?
rester en vba jusqu'à ce que vous puissiez c'est une langue plus « conviviale »

De toute façon, je commence à faire des bibliothèques (.dll) à charger en nanocad
écrit et compilé en ms visualstudio (gratuit)
si vous avez besoin d'une main faire un sifflet
 
Parfois je me demande pourquoi sur le réseau il y a tant d'exemples de "tout le même" code... maintenant je me souviens où je l'ai vu... copie et coller du guide autocad

code pour créer une commande qui ajoute une ligne simple à vb. net ou c# ou f# ne doit pas nécessairement être si prolisso

vb.net
Code:
importations autodesk.autocad.runtime
importations autodesk.autocad.interop
importation application = autodesk.autocad.applicationservices.application

namespace ac2018_demo
cours public mydemo
 <commandmethod("addline")>public partagé sous addline()
dim acapp en tant qu'acad application = ctype(application.acad application, acad application)
acapp.activedocument.modelspace.addline(nouveau double() {0, 0, 0}, nouveau double() {10, 10, 0})
fin sous
classe finale
espace de noms de fin</commandmethod("addline")>
c#
Code:
utilisant autodesk.autocad.runtime;
utilisant autodesk.autocad.interop;
utilisation de l'application = autodesk.autocad.applicationservices.application;

namespace ac2018_demo
{
cours public mydemo
{
 [CommandMethod("AddLine")]public statique vide addline()
{
acad application acapp = (acad application) application.acad application;
acapp.activedocument.modelspace.addline(nouveau double[] { 0, 0, 0 }, new double[] [10, 10, 0];
}
}
}
F#
Code:
ouvrir autodesk.autocad.runtime
ouvert autodesk.autocad.interop
open autodesk.autocad.applicationservices

module ac2018_demo =

type mydemo() =
 [<CommandMethod("AddLine")>]insert statique() =
let acapp = application.acadapplication :?> Demande d'acad
acapp.activedocument.modelspace.addline([| 0.0; 0.0; 0.0 |], [| 10.0; 10.0; 0.0 |])
attention!!! Ce code a été écrit à titre d'exemple et peut contenir des erreurs de transcription, ne l'utilisez pas si ce n'est en présence d'un adulte!:roflmao::roflmao:roflmao:roflmao:roflmao:
 

Statistiques du forum

Sujets
58 521
Messages
499 056
Membres
104 110
Dernier membre
ChristianR

Membres en ligne

Aucun membre en ligne actuellement.
Retour
Haut