• 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.

Créare screenshot di AutoCAD con AutoCAD stesso en C#

PlannerRoad

Guest
su par l'interface c# code est disponible pour la compilation d'un utilitaire qui vous permet de créer simultanément deux screeshots via autocad : une de sa fenêtre et l'autre de sa zone de travail.

le code, pour, est le suivant:
PHP:
utilisant acapp = autodesk.autocad.applicationservices;
utilisant autodesk.autocad.runtime;
utilisant system.drawing.imaging;
utilisant le système. dessin;

namespace screenshottest
{
commandes de classe publique
{
 [CommandMethod("CSS")]capture d'écran de capture du vide public statique()
{
screenshottofile(
acapp.application.mainwindow,
"c:\\main-window.png",
0, 0, 0, 0
);
screenshottofile(
acapp.application.documentmanager.mdiactivedocument.window,
"c:\\doc-window.png",
30, 26, 10, 10
);
}

privé statique vide screenshottofile(
autodesk.autocad.windows.window wd,
le nom du fichier chaîne,
int en haut, int en bas, int à gauche, int à droite
)
{
point pt = wd.location;
taille sz = poids;

pt.x += gauche;
pt.y += haut;
hauteur -= haut + bas;
sz.width -= gauche + droite;

// définissez l'objet bitmap à la taille de l'écran

bitmap bmp =
nouvelle bitmap(
sz.width,
hauteur sz.,
pixelformat.format32bppargb
);
utilisant (bmp)
{
// créer un objet graphique à partir du bitmap

utilisant (graphiques gfx = graphiques.fromimage(bmp))
{
// prendre une capture d'écran de notre fenêtre

gfx.copyfromscreen(
pt.x, pt.y, 0,0, sz,
copypixeloperation.sourcecopy
);

// enregistrer la capture d'écran à l'emplacement spécifié

bmp.save(nom de fichier, imageformat.png);
}
}
}
}
}
dans le code en rouge sont la commande de l'utilitaire qui est css et l'emplacement et le format de l'image utilisée comme répertoire de sauvegarde de capture d'écran, c'est-à-direc:\\\main-window.png e C:\\doc-window.pngla première était liée à la fenêtre autocad, la seconde à sa zone de travail.
ces 3 paramètres (commande et itinéraires) peuvent être modifiés à volonté.
comment remplir le code: dans ce débat c# visuel: remplissez le code pour autocad j'ai expliqué la procédure et indiqué le logiciel pour compiler c#.

dans ce cas, au-delà ai du dossier acdbmgd.dll eacmgd.dll pour cette utilité, il faut ajouter d'autres références.comment et quelles autres références ajouter: toujours dans le menu "projet" -> option "ajouter une référence" -> onglet ".net" cette fois, ajouter comme référence système.drawing et dans le cas d'autocad 2010 probablement aussi présentation.core.
même si ce n'est pas mentionné dans l'article, pour le fonctionnement du code, j'ai dû ajouter aussi la référence système.windows.forms, sans laquelle l'utilitaire pendant la compilation a indiqué une erreur.

pour le reste de la compilation et le chargement de l'utilité dans autocad continuer à suivre la procédure rapportée dans l'autre discussion.

après avoir téléchargé l'utilitaire compilé avec la commande netload donnant la commande css (ou autre commande que vous avez éditée), vous aurez la création automatique des deux captures d'écran dans le répertoire indiqué.
 
Dernière édition:
j'attache le fichier que j'ai généré à partir de ce code ci-dessus.
 

Pièces jointes

Dernière édition:
capture d'écranle code d'utilité css, rapporté ci-dessus, a été complètement modifié par l'auteur (kean walmsley de par l'interface) et un nouvel utilitaire pour créer des captures d'écran autocad, beaucoup plus complète, qui est devenu une partie des utilitaires mensuels des laboratoires autodesk.
le nouvel utilitaire, du nom capture d'écran, permet maintenant de nombreuses autres options, telles que la possibilité d'envoyer directement la capture d'écran à l'imprimante, ou d'avoir tous les objets, même si le ton est coloré, noir ou gris.
trouver les articles de kean walmsley, avec les différentes mises à jour qui se sont produites, ici:
http://through-the-interface.typepa...screenshot-novembers-plugin-of-the-month.html

http://through-the-interface.typepa...screenshot-novembers-plugin-of-the-month.html

http://through-the-interface.typepa...novembers-plugin-of-the-month-screenshot.html

http://through-the-interface.typepa...jour-version-of-screenshot-now-available.htmll'utilitaire étant comme le précédent dans c#, il charge avec la commande netload, après que ché autocad le "will register".
la commande de l'utilitaire est screenshot, tandis que la commande de sa suppression est supprimée.
lire le fichier readme contenu dans le fichier compressé, où les sources sont également contenues.

vous pouvez télécharger ici:
http://labs.autodesk.com/utilities/screenshot/
 

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