belam
Membres-
Compteur de contenus
31 -
Inscription
-
Dernière visite
belam's Achievements
Newbie (1/14)
0
Réputation sur la communauté
-
Salut à tous Chez moi, avec AUTOCAD 2010 cette commande a l'air de marcher. Et voilà ce qu'il me répond : Command: aectoacad Loading AEC Base... Loading AEC Base Extended... Loading AEC Base UI... -EXPORTTOAUTOCAD File format: 2010 Bind xrefs: Yes Bind type: Insert Filename prefix: ACAD- Filename suffix: Export options [Format/Bind/bind Type/Maintain/Prefix/Suffix/?] filename>: Je n'ai pas testé plus loin. A+
-
Mettre des textes qui se mettent à jour tout seuls dans un dessin
belam a répondu à un(e) sujet de Bob_lee_swagger dans Catia
Salut à tous Utiliser la commande RTEXT des Express Tools A la ligne de commande lancer RTEXT Répondre par l'option DIESEL Dans la fenêtre de saisie qui apparait écrire par exemple Imprimé le $(edtime, 0,DD MON YYYY "à" H:MM) Clicquer sur OK A+ Ceci pour avoir la date et l'heure d'ouverture du dessin. L'heure est réactualisée à chaque regénération du dessin ou lorsque l'on lance la commande _REGEN. Manque de pot, je pensais qu'on était dans le forum AUTOCAD. Sous CATIA je ne sais pas comment ça pourrait se faire. [Edité le 7/4/2010 par belam] [Edité le 7/4/2010 par belam] -
Salut à tous Sinon avec la commande _QSELECT On répond au moins à : ------> Object type : Block reference -------> Operator : Select All Valider Autocad répond par le nombre d'entités sélectionnées.
-
Salut à tous Sinon - tu sélectionnes tous les points que tu veux déplacer (ave _QSELECT par exemple) - tu lances la commande _MOVE - à la demande spécifier le premier point de base tu réponds en cliquant un point sur le dessin - enfin à la demande spécifier le second point tu réponds : @0,0,-50 @ signifie que l'on va déplacer les points en coordonnées relatives par rapport au premier point que tu a piqué. A+ [Edité le 26/2/2010 par belam]
-
Salut à tous Ecrire un petit programme qui lit les données ligne par ligne et reécrit cette ligne dans un second fichier en ayant modifié l'altitude. Sinon la proposition de Didier est parfaitement valable. Belam A+
-
Salut à tous A la ligne de commande d'AUTOCAD écrire start Répondre par le nom programme que l'on veut exécuter (avec le chemein complet). Si c'est un programme que l'on utilise souvent, créer un raccourci dans acad.pgp A+
-
Salut à tous Le clavier pour les commandes les plus courantes Les menus déroulants pour les autres Aucune barre d'icones en affichage Belam A+
-
Salut à tous Voir si attacher des Xdata ne ferait pas l'affaire. On peut les attacher avec Express ------> Tools -------> Attach Xdata et les lire avec Express ------> Tools -------> List Object Xdata A+
-
Salut est tous Dans la commande Imprimer -----> Propriétés ------> Custom Proporties, vérifier que la qualié d'impression n'est pas réglée sur Brouillon. A+
-
Salut Mer2022 Tu peux changer la couleur du segment bleu. Sinon il faut utiliser les accochages aux objets. Dans ton cas copier selectionner l'objet après avoir sélectionné Point de base : Shift + clic droit --------> sélectionner extémité cliquer sur l'extrémité du segment rouge second point : Shift + clic droit --------> sélectionner extémité cliquer sur l'extrémité du segment bleu A+ belam
-
Salut à tous C'est re moi J'ai remis au goût du jour la commande bati2 ou b2, c'est la plus simple et la plus courte. Elle dessine un rectangle dont on connait deux points représentant les extrémités d'un coté et la hauteur. Ce peut être les deux point levés d'une construction rectangulaire et de l'autre dimension du rectangle. Par convention le rectangle est dessiné à gauche du coté levé [pt1, pt2] en regardant de pt1 vers pt2. La commande marche correctement. En voici le code. void bati2(){ h = 0.0; struct resbuf *result; ads_initget(1, NULL); resget = ads_getpoint(NULL, _T("\n1° point ? "), pt1); #include "rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie du premier point a échoué.")); _flushall(); _fcloseall(); return; } x1 = pt1[0]; y11 = pt1[1]; ads_initget(1, NULL); resget = ads_getpoint(pt1, _T("\n2° point ? "), pt2); #include "Rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie du second point a échoué.")); _flushall(); _fcloseall(); return; } x2 = pt2[0]; y2 = pt2[1]; acedGetVar(_T("userr2"), &rb); rb.restype = RTREAL; h = rb.resval.rreal; if(h != 0.0) acutPrintf(_T("\nHauteur <%.2lfm> ? "), h); else acutPrintf(_T("\nHauteur ? ")); ads_initget(2, NULL); resget = ads_getdist(NULL, NULL, &h); #include "rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie de la hauteur a échoué.")); _flushall(); _fcloseall(); return; } rb.resval.rreal = h; ads_setvar(_T("userr2"), &rb); dx = x2 - x1; dy = y2 - y11; d = sqrt(dx * dx + dy * dy); gis = gisement(dx, dy) - 1.570796327; x3 = x2 + h * sin(gis); y3 = y2 + h * cos(gis); pt3[0] = x3; pt3[1] = y3; x4 = x1 + h * sin(gis); y4 = y11 + h * cos(gis); pt4[0] = x4; pt4[1] = y4; acedCommand(RTSTR, _T("_pline"), RTPOINT, pt1, RTPOINT, pt2, RTPOINT, pt3, RTPOINT, pt4, RTSTR, _T("_close"), 0); _flushall(); _fcloseall(); return; } C'est programmé plutôt en C et ADS au lieu de C++ et ObjectARX. Si ça peut servir voici aussi le code du programme principal ObjectArx. #include "stdafx.h" #include "tchar.h" #include #include "adscodes.h" #include "acedads.h" #include #include #include #include #include #include #include #include ads_real xor, yor, x1, x2, x3, x4, y11, y2, y3, y4, xprov, yprov; ads_real dx, dy, gis, d, h; ads_point pt0, pt1, pt2, pt3, pt4; char layname[80], buffer[160]; int resget; struct resbuf rb, cecol, osm; void initApp(); void unloadApp(); void helloWorld(); void bati2(); void bati3(); void initApp() { acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("Hello"), _T("Bonjour"), ACRX_CMD_TRANSPARENT, helloWorld); acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("b2"), _T("bati2"), ACRX_CMD_MODAL, bati2); acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("b3"), _T("bati3"), ACRX_CMD_MODAL, bati3); } void unloadApp() { acedRegCmds->removeGroup(_T("TOPO1_COMMANDS")); } void helloWorld() { acutPrintf(_T("\nHello World!")); } #include "gisement.h" #include "bati2.h" #include "bati3.h" extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) { switch (msg) { case AcRx::kInitAppMsg: acrxDynamicLinker->unlockApplication(pkt); acrxRegisterAppMDIAware(pkt); initApp(); break; case AcRx::kUnloadAppMsg: unloadApp(); break; default: break; } return AcRx::kRetOK; } J'ai fais la même chose avec la commande bati3 (b3) qui dessine un rectangle à partir de trois points levés, en positionnant au mieux les coins du rectangle par rapport aux points levés. La commande suivante, plus complxe, fait appel à une boite de dialogue implémentée en DCL que je me propose de remplacer par une boite MFC. A+ belam ------------------------------------------------------------------------------- De toute façon c'est moins grave que si c'était pire. (Frédéric Dard - San Antonio ?) Si c'est pas sûr, c'est quand même peut-être. (Jacque Brel)
-
Dossier Labs de ObjectARX
belam a répondu à un(e) sujet de belam dans ObjectARX/DBX, C++, .NET, RealDWG
Salut à tous C'est re moi J'ai remis au goût du jour la commande bati2 ou b2, c'est la plus simple et la plus courte. Elle dessine un rectangle dont on connait deux points représentant les extrémités d'un coté et la hauteur. Ce peut être les deux point levés d'une construction rectangulaire et de l'autre dimension du rectangle. Par convention le rectangle est dessiné à gauche du coté levé [pt1, pt2] en regardant de pt1 vers pt2. La commande marche correctement. En voici le code. void bati2(){ h = 0.0; struct resbuf *result; ads_initget(1, NULL); resget = ads_getpoint(NULL, _T("\n1° point ? "), pt1); #include "rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie du premier point a échoué.")); _flushall(); _fcloseall(); return; } x1 = pt1[0]; y11 = pt1[1]; ads_initget(1, NULL); resget = ads_getpoint(pt1, _T("\n2° point ? "), pt2); #include "Rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie du second point a échoué.")); _flushall(); _fcloseall(); return; } x2 = pt2[0]; y2 = pt2[1]; acedGetVar(_T("userr2"), &rb); rb.restype = RTREAL; h = rb.resval.rreal; if(h != 0.0) acutPrintf(_T("\nHauteur <%.2lfm> ? "), h); else acutPrintf(_T("\nHauteur ? ")); ads_initget(2, NULL); resget = ads_getdist(NULL, NULL, &h); #include "rtcan.h" if(resget != RTNORM) { acutPrintf(_T("\nLa saisie de la hauteur a échoué.")); _flushall(); _fcloseall(); return; } rb.resval.rreal = h; ads_setvar(_T("userr2"), &rb); dx = x2 - x1; dy = y2 - y11; d = sqrt(dx * dx + dy * dy); gis = gisement(dx, dy) - 1.570796327; x3 = x2 + h * sin(gis); y3 = y2 + h * cos(gis); pt3[0] = x3; pt3[1] = y3; x4 = x1 + h * sin(gis); y4 = y11 + h * cos(gis); pt4[0] = x4; pt4[1] = y4; acedCommand(RTSTR, _T("_pline"), RTPOINT, pt1, RTPOINT, pt2, RTPOINT, pt3, RTPOINT, pt4, RTSTR, _T("_close"), 0); _flushall(); _fcloseall(); return; } Si ça peut servir voici aussi le code du programme principal ObjectArx. #include "stdafx.h" #include "tchar.h" #include #include "adscodes.h" #include "acedads.h" #include #include #include #include #include #include #include #include ads_real xor, yor, x1, x2, x3, x4, y11, y2, y3, y4, xprov, yprov; ads_real dx, dy, gis, d, h; ads_point pt0, pt1, pt2, pt3, pt4; char layname[80], buffer[160]; int resget; struct resbuf rb, cecol, osm; void initApp(); void unloadApp(); void helloWorld(); void bati2(); void bati3(); void initApp() { acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("Hello"), _T("Bonjour"), ACRX_CMD_TRANSPARENT, helloWorld); acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("b2"), _T("bati2"), ACRX_CMD_MODAL, bati2); acedRegCmds->addCommand(_T("TOPO1_COMMANDS"), _T("b3"), _T("bati3"), ACRX_CMD_MODAL, bati3); } void unloadApp() { acedRegCmds->removeGroup(_T("TOPO1_COMMANDS")); } void helloWorld() { acutPrintf(_T("\nHello World!")); } #include "gisement.h" #include "bati2.h" #include "bati3.h" extern "C" AcRx::AppRetCode acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt) { switch (msg) { case AcRx::kInitAppMsg: acrxDynamicLinker->unlockApplication(pkt); acrxRegisterAppMDIAware(pkt); initApp(); break; case AcRx::kUnloadAppMsg: unloadApp(); break; default: break; } return AcRx::kRetOK; } J'ai fait la même chose avec la commande bati3 (b3) qui dessine un rectangle à partir de trois points levés, en positionnant au mieux les coins du rectangle par rapport aux points levés. La commande suivante, plus complexe, fait appel à une boite de dialogue implémentée en DCL que je me propose de remplacer par une boite MFC. A+ belam ------------------------------------------------------------------------------- De toute façon c'est moins grave que si c'était pire. (Frédéric Dard - San Antonio ?) Si c'est pas sûr, c'est quand même peut-être. (Jacque Brel) [Edité le 20/10/2009 par belam] -
Salut à tous ! La nature mathématique du diamètre du cercle c'est deux fois la nature mathématique du rayon du cercle. :D :D C'est simple - non ? A+ belam
-
Dossier Labs de ObjectARX
belam a répondu à un(e) sujet de belam dans ObjectARX/DBX, C++, .NET, RealDWG
Salut à tous Salut (gile) A partir de l'adresse que tu m'a communiquée à travers ton (Ici) j'ai téléchargé l'ObjectArx2009 et de là, en suivant pas à pas le premier exemple de ArxLabs2009 et àprès maints bidouillages je viens de créer la bien connue commande HELLO qui inscrit "Hello World" sur la ligne de Commande d'Autocad. De prime abord c'est une bonne étape de franchie. A + belam -
Dossier Labs de ObjectARX
belam a répondu à un(e) sujet de belam dans ObjectARX/DBX, C++, .NET, RealDWG
Salut à tous Re à (gile) Merci (gile). J'ai bien téléchargé le fichier en question mais je n'arrive pas à l'ouvrir correctement. Même en essayant de l'ouvrir avec HTML Microsoft ça ne marche pas. Je n'ai que la table des matières sur la gauche de l'écran et au centre j'ai le message " Navigation sur la page WEB annulées ". Est-ce que tu pourrait me l'envoyer non compilé ? Normalement c'est ce qui me manque pour commencer. A+ belam
