Aller au contenu

Serge

Membres
  • Compteur de contenus

    397
  • Inscription

  • Dernière visite

Tout ce qui a été posté par Serge

  1. Serge

    Lancement de LISP

    Turle, Je ne crois pas que tu arrêteras grand monde. Cependant, je me permet certaines améliorations générales. (defun c:test1 ( / reponse) ; ; rien ne nous renseigne sur la casse (majuscules / minuscules) (setq reponse (getstring "\nVotre nom: ")) ;; Convertir en minuscules pour faire les bonnes comparaisons (setq reponse (strcase reponse t)) ;; Traiter plusieurs cas (cond ((= "turtle" reponse) (alert "Bon maitre") ) ((= "snake" reponse) (alert "Bon escalve") ) ((= "cancer" reponse) (alert "Bon maitre, je t'ai reconnu") ) (t (alert "Désolé, nous allons quitter") (princ "\nJe quitterais ici.") ) ) (princ) ) Autre alternative (elle-même plus ou moins convaincante). Ça vaut ce que ça vaut (defun c:test2 () ;; Boucle tant et aussi longtemps que la réponse ne correspond pas à l'un des ;; mots de passe. Si quelqu'un entre S, AutoCAD répondra "Réponse ambigue, ;; clarifiez SNAKE ou SPIDER?" (initget 1 "TURTLE SNAKE SPIDER CANCER") (getkword "\nQuel est votre prénom: ") ) Serge
  2. Patrick, Pour ceux qui disposent de 2 écrans (de préférence, sinon c'est encombrant), on peut faire afficher la fenêtre de vue aérienne (disponible depuis R12) via la commande _DSVIEWER (où, s'il vous reste des voyelles au Scrabble, VUEAER). Cette fenêtre affiche la zone de zoom et de pan en temps réel. Serge
  3. Salut, Voici la nouvelle page: http://www.cadnovation.com/fr/forumcadxp.asp Ça permet d'accéder directement à l'un des forums en plus de permettre de choisir facilement le nombre de messages. Serge
  4. CGDessine, Que veux-tu dire "sans passer par un éditeur" comme rotation? Toujours est-il que tu peux utiliser EATTEDIT pour l'édition un à un (depuis 2002, double-clic sur le bloc puis onglet "Options de texte") Tu peux aussi utiliser -ATTEDIT pour l'édition global. Serge
  5. Patrick, Voici donc le premier site qui utilise tes liens http://www.cadnovation.com/fr/home.asp Il faut chercher la zone "Portail CadXP " Serge
  6. Krynn, Je n'avais pas lu le "pas" :-)) Dans un autre ordre d'idée, il parait qu'au Québec, on soit réputé pour construire des phrases dans leur forme négative, du genre: "Vous ne pourriez pas me donner un coup de main?", ce qui peux se traduire par: En France: "Oui," (je ne peux pas vous donner un coup de main) Au Québec: "Oui" (je peux vous donner un coup de main). Si un Québecois va dans un restaurant à l'extérieur de chez lui et demande au serveur "Vous n'auriez pas encore du steak au menu?", et que l'autre lui réponde "Oui", il risque de mourir de faim sans comprendre pourquoi. Serge
  7. Bruno, Les codes dxf sont toujours exprimés en terme du référentiel absolu (WCS ou SCG). Par contre, ta suggestion est bonne si tu veux convertir les points en termes de SCU, dans le contexte où tu dessinerais via (command "lacommande" pt1 pt2 pt3 etc) Incidemment, j'avais publiée une routine plus générale qui traite les polylignes anciennes et optimisées ;;; getVertices ;;; Retourne une liste de sommets ;;; Usage (getVertices ename), où le ename s'obtient par un entsel, un ssget, etc. (defun getVertices ( ename / plineGet return vertex vertexGet ) (setq return nil) (cond ((or (/= (type ename) 'ENAME) (not (setq plineGet (entget ename)))) (setq return nil)) ((= "POLYLINE" (cdr (assoc 0 plineGet))) (setq vertex (entnext ename)) (while (= "VERTEX" (cdr (assoc 0 (setq vertexGet (entget vertex))))) (setq return (cons (cdr (assoc 10 vertexGet)) return)) (setq vertex (entnext vertex)) ) (setq return (reverse return)) ) ((= "LWPOLYLINE" (cdr (assoc 0 plineGet))) (setq return (mapcar 'cdr (vl-remove-if '(lambda (x) (/= (car x) 10)) plineGet))) ) (t (setq return nil)) ) return ) Serge
  8. Serge

    Fichier de formes SHX

    Bruno (bonuscad), Cette formule doit être corrigée mutatis mutandis. L'adresse varie d'un fichier à l'autre. Ici, je l'ai fait avec Romans. La commande debug.exe est à utiliser avec précaution (ne faites pas ceci à la maison, nous sommes des professionnels :-)))) C:\Répertoire>debug fichier.shx -e14e 0D33:014E 00.02 -w Ecriture de 03A90 octets -q C:\Répertoire> Serge
  9. Patrick, Pour chacun des forums suivants, me confirmer leur partie de ulr: AutoCAD 2006 , AutoCAD 2005, AutoCAD LT2005, AutoCAD 2004, AutoCAD LT2004, AutoCAD 2000 à 2002, AutoCAD LT2000 à LT2002, AutoCAD R12, R13,R14, AutoCAD LT95,97,98, AutoCAD, liste de souhaits Est-ce : forum_autocad2006, forum_autocad2005, forum_lt2005, forum_autocad2004, forum_lt2004, forum_autocad2002, forum_lt2002, forum_autocad14, forum_lt98, forum_souhaits Serge
  10. Peux-tu aller chez le fabricant? http://welcome.hp.com/country/fr/fr/support.html Serge
  11. Serge

    Fichier de formes SHX

    sv_zx9r Tu peux toujours me l'envoyer, je peux l'examiner et le convertir via le bon vieux debug.exe. Sinon je peux le décompiler. Pour connaitre mon adresse de courriel, voir http://www.cadnovation.com Serge
  12. Patrick, Je vais y voir. C'eut été moins de travail pour moi (et les autres) si tu avais laissé l'image en texte, quite à insérer des espaces dans l'adresse, e.g. http en h t t p Serge
  13. Serge

    Lancement de LISP

    Il y a la commande APPLOAD. Avec cette méthode, chaque usager doit faire l'inscription des fichiers. Il y a le fichier acaddoc.lsp que tu peux créer. Tu défini une ligne par fichier à charger comme suit (en adaptant le nom à chaque fois: (load "monfichier.lsp") Serge
  14. Cococlem, Ton message est lié, à 99% du temps, au fait que tu a échangé le dessin d'une machine à l'autre. Les PC3 sont sensibles au système d'exploitation sur lequel ils ont été gérés. Si tu en a re^¸cu un via un eTransmit, contacte l'émetteur. Il se peut que tu sois obligé de le reconstituer de ton poste. Krynn, Je crois que Patrick voulait dire changer de forum chez CadXP et non d'aller voir un autre URL. Ce n'est pas une question relative à AutoLISP Serge
  15. Moi, J'avais lu trop vite la première question :-( C'était pour créer un rectangle et non connaitre ses dimensions. En passant, Mechanical offre mille et une façon de dessiner des rectangles. Serge
  16. Bruno, Avec un ucsfollow à 0 pour éviter des désagrément. Ou encore débuter la commande LIGNE (_LINE) en mode ortho, on promène la souris dans les 2 directions puis on tape la touche Escape (Échappe?) lorsqu'on a vu ce qu'on cherchait. Serge
  17. Salut, Je crois que l'intérêt d'Autodesk pour les lignes parallèles passe par Autodesk Architectural Desktop. Le mlines sont très limitées. Pas de courbes, édition difficile (dans le sens de sectionner les segments), et redéfinition du style impossible (ou presque). Contrairement aux types de lignes simple, on ne peut pas choisir un style dans un fichier. Le mieux est de se créer un gabarit puis de l'importer au complet. Il fut un temps (R13) où l'on pouvait redéfinir un style de multi-lignes comme suit: 1) on effaçait toutes les multi-lignes 2) On redéfinissait le style 3) On restaurait les objets avec _Oops Cette technique ne fonctionne plus comme avant et n'est plus recommendable. Par ailleurs, on peut convertir une multi-lignes à un autre modèle ou en polylignes et vice-verca. Pour ce faire, il faut cependant une routine (le _matchprop est inopérant). Serge
  18. blancherm, Tiré du fichier d'aide. Tu remplace Circle par le type d'objet qui t'intéresse. Sub Example_Select() ' This example adds members to a selection set, first by crossing and ' then by filtering for circles. ' Create the selection set Dim ssetObj As AcadSelectionSet Set ssetObj = ThisDrawing.SelectionSets.Add("SSET") ' Add all object to the selection set that lie within a crossing of (28,17,0) and ' (-3.3, -3.6,0) Dim mode As Integer Dim corner1(0 To 2) As Double Dim corner2(0 To 2) As Double mode = acSelectionSetCrossing corner1(0) = 28: corner1(1) = 17: corner1(2) = 0 corner2(0) = -3.3: corner2(1) = -3.6: corner2(2) = 0 ssetObj.Select mode, corner1, corner2 ' Add all the Circles to the selection set that lie within the crossing of (28,17,0) and ' (-3.3, -3.6,0) by filtering from the current drawing Dim gpCode(0) As Integer Dim dataValue(0) As Variant gpCode(0) = 0 dataValue(0) = "Circle" Dim groupCode As Variant, dataCode As Variant groupCode = gpCode dataCode = dataValue ssetObj.Select mode, corner1, corner2, groupCode, dataCode End Sub Serge
  19. Salut, Tant mieux si ça fonctionne. Je m'interroge quand même sur la raison du COM. Au lieu de faire un gros Arx pour AutoCAD seul et un gros pour Arx Mechanical, ce qui donne 2 fichiers, 2 projets, tu fait un petit Arx pour AutoCAD et un petit Arx-Com pour Mechanical, ce qui donne aussi 2 fichiers, 2 projets. De plus, l'implémentation d'objets via une interface est beaucoup laborieuse que du C++ standard, que ce soit pour la conversion de données en safearray, variant, bstr, etc, utiliser des CMapStringToString, l'initialisation et le verrouillage de l'application, etc. Si tu veux diviser ton projet en 2 fichiers, tu peux compiler une premier dll et exporter le fonctions en les réimportant via un fichier .h. Tu peux facilement définir statiquement les fonctions à exporter dans le fichier .def. Si tu veux vraiment utiliser une interface, l'exemple de Smiley pourra t'aider. Tu peux importer et exporter dynamiquement des classes d'un arx à l'autre via les declspec ex emple dans un .h: #define MACLASSE __declspec(dllexport) #pragma message( " Exporting MaClasse_Dll" ) #define MACLASSE __declspec(dllimport) #pragma message( " Importing MaClasse_Dll" ) dans le cpp HINSTANCE hDLL; // Handle to DLL LPFNDLLFUNC1 lpfnDllFunc1; // Function pointer hDLL = AfxLoadLibrary((LPCSTR) path_Dll); lpfnDllFunc1 = (LPFNDLLFUNC1)GetProcAddress(hDLL, "MaClasse_Dll"); et ainsi de suite ;-) . Serge
  20. Tramber, En fait, une spline peut épouser une forme elliptique mais AutoCAD ne vérifiera pas si tous les sommets, le degré du polynôme, etc correspondent bien au cas souhaité. Autre chose, bien des gens s'étonnent que le décalage d'une ellipse donne une spline et non une ellipse plus grande. En fait, il ne faut pas confondre le résultat de la commande ECHELLE (_SCALE) qui reproduit la même forme mais soit plus grande ou soit plus petite. Le décalage vers l'intérieur produit une ellipse plus plate tandis que vers l'extérieur, c'est plus rond. Serge
  21. Cococlem, 1) Est-ce que tu as bien choisi l'imprimante (premier onglet), le pilote est-il à jour, est-ce un pilote AutoCAD ou Windows ? 2) As-tu cherché les formats de papier dans le 2-ième onglet? Est-ce que les formats de papier ont été filtrés (voir la boite de dialogue "Éditeur de configurateur du traceur", sous "Calibrage et formats de papier utilisateurs" puis "Filter les formats de papier" Serge
  22. Serge

    SCU

    cococlem, Mais encore... Imprime-tu dans l'espace papier, l'espace objet ; la surface est-elle une vue ; entre-tu dans une fenêtre flottante ; utilise-tu une routine ; imprime-tu plusieurs onglets d'un coup ? Serge
  23. Je ne cherche pas à augmenter le nombre de mes messages pour monter en grade mais j'ai un autre élément en faveur des splines, celui-ci indirect. Lorsqu'on décale (offset) une vraie ellipse, on obtient une spline. Serge
  24. Pako, AutoCAD Map offre déjà cette possibilité. Mais tous ne font pas de la cartographie ou autres sciences de la terre. Si AutoCAD de base devait devenir multi-usager demain matin, beaucoup d'applications ne fonctionneraient plus. C'est déjà extrêment difficile de supporter pleinemant le multi-documents. À titre d'exemple, si tu veux faire un (entget) en Lisp, une fois sur 2 l'objet ne sera pas disponible. Il y a plein d'exemples à donner pour le VBA ou le C++. Comme solution, il y a la variable XLOADCTL qui permet d'ouvrir un xref. Également, on peur créer un dessin maitre qui contient 2 xrefs en mode Overlay (ou Superposition). Une fois le projet complété, on peut faire une fusion de type Insert. Ce qu'il faut absolument faire attention est le respect des noms de calques, types de lignes, noms de bloc et autres éléments du genre. Serge
  25. Le crabe En fait, Autodesk a laissé les polylignes et sa fonction associée Pedit ainsi que Spline pour offrir un éventail plus grand de possibilités, sans compter qu'elle n'avait pas le choix pour supporter les NURBS (Non Uniform Rational Based Spline) et ACIS (Allan, Charles, Ian et le s pour le pluriel. Il n'a pas encore été mentionné dans ce fil que FLATTEN (Express Tool) permet de convertir la spline en pline. Serge
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité