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:
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é.
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);
}
}
}
}
}
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: