Publié par Maxence le mer, 24/04/2013 - 09:56
AutoCAD propose de nombreuses API : ObjectARX, .NET, ActiveX/COM, AutoLISP. Il faut en plus maintenant ajouter l'API Javascript qui est une nouveauté d'AutoCAD 2014. Et parfois, ce qui s'avère très simple dans une des API se révéle très compliqué dans une autre. Prenons par exemple le cas du zoom étendu.
Avec l'API ActiveX et VBA, il suffit de faire :
ThisDrawing.Application.ZoomExtents
Avec l'API .NET, c'est un peu plus compliqué :
Publié par Maxence le sam, 23/02/2013 - 12:19
Parfois on a des compléments AutoCAD développés en .NET ou ObjectARX qui sont spécifiques à une plateforme (32 ou 64 bits). Pour déterminer si votre AutoCAD est 32 ou 64 bits, vous pouvez utiliser le petit bout de code Lisp suivant directement sur la ligne de commande :
(getenv "PROCESSOR_ARCHITECTURE")
Si la valeur renvoyée est "AMD64", vous êtes en 64 bits. Si c'est "x86", vous êtes en 32 bits.
Publié par Maxence le mar, 08/01/2013 - 09:21
Vous l'avez déjà certainement remarqué, parfois vos textes apparaissent de façon bizarre sous AutoCAD. Au lieu de présenter un aspect lisse, ils sont pixellisés sur les bords et paraissent plus épais.
2 textes affichés différemment sous AutoCAD
Publié par Sébastien le ven, 04/01/2013 - 10:27
Nous avons publié une nouvelle application pour AutoCAD dans l'Autodesk Exchange Store. Elle permet de copier/répartir rapidement vos objets sur une ligne.
Vous pouvez par exemple l'utiliser pour répartir des perçages, des poteaux, des panneaux de longueurs standards, etc.
Publié par Maxence le sam, 01/12/2012 - 09:23
La nouvelle version d'AutoCAD 2014 devrait sortir en avril prochain. Voilà ce que j'aimerai y trouver (ou ne plus y trouver) :
Publié par Maxence le mer, 07/11/2012 - 16:46
Il m'arrive fréquemment de devoir transmettre des dll à nos clients. Comme les antivirus des messageries interceptent tous les exécutables en pièces jointes (même packagés dans un zip), j'utilise Google Drive pour partager le fichier via un lien.
Mais avec Windows 7 et les versions postérieures, il y a un système de sécurité qui bloque les dll téléchargées depuis Internet. Conséquence, si la dll est un complément pour Revit ou AutoCAD, on a une erreur au chargement.
Publié par Maxence le mar, 30/10/2012 - 16:31
En VBA, pour calculer le ou les points d'intersection entre 2 entités, on peut utiliser la méthode ÌntersectWith
. Mais elle ne fonctionne pas correctement si un des deux opérandes est une référence de bloc.
Publié par Maxence le sam, 27/10/2012 - 09:25
A little bit of code to export the list of Red, Green and Blue values for indexed AutoCAD colors:
[CommandMethod("DUMPCOLORS")]
public void DumpColors()
{
using (var sw = new StreamWriter(@"C:\temp\acadColors.txt"))
{
sw.WriteLine(" I ; R ; G ; B ");
for (short colorIndex = 1; colorIndex <= 255; colorIndex++)
{
using (Color color = Color.FromColorIndex(ColorMethod.ByAci, colorIndex))
{
sw.WriteLine("{0,3};{1,3};{2,3};{3,3}", colorIndex,
color.ColorValue.R, color.ColorValue.G, color.ColorValue.B);
}
}
}
}
Publié par Maxence le sam, 27/10/2012 - 09:22
Un petit bout de code pour exporter la liste des valeurs Rouge, Vert, Bleu pour les couleurs indexées d'AutoCAD :
[CommandMethod("DUMPCOLORS")]
public void DumpColors()
{
using (var sw = new StreamWriter(@"C:\temp\acadColors.txt"))
{
sw.WriteLine(" I ; R ; G ; B ");
for (short colorIndex = 1; colorIndex <= 255; colorIndex++)
{
using (Color color = Color.FromColorIndex(ColorMethod.ByAci, colorIndex))
{
sw.WriteLine("{0,3};{1,3};{2,3};{3,3}", colorIndex,
color.ColorValue.R, color.ColorValue.G, color.ColorValue.B);
}
}
}
}
Publié par Maxence le mar, 02/10/2012 - 18:23
Vous avez le maintien (handle en Anglais) d'une entité et vous voulez identifier cette entité. Voilà un moyen simple : lancez la commande ZOOM, choisissez l'option Objet. Quand AutoCAD vous demande de sélectionner des objets, tapez :
(handent "<Votre maintien>")
Par exemple si votre maintien est 1f7 :
Validez par entrée, AutoCAD zoome alors sur l'entité en question.
Cette astuce ne fonctionne pas sur LT, puisqu'elle nécessite d'appeler la fonction Lisp handent
.
Pages