Aller au contenu

krunch

Membres
  • Compteur de contenus

    239
  • Inscription

  • Dernière visite

Tout ce qui a été posté par krunch

  1. krunch

    Optimisation

    OK, donc si je tente un récap malgré tout (malgré que ce soit très approximatif ) ça donnerait qq-chose comme ça.. (d'autre part il n'y a pas de contrindication particulière contre les vl-*) N = nombre d'éléments de la liste fourni I = position de la 1ère occurence de l'élément recherché / vérifiant un test (I <= N) cons 1 append N+1 reverse 2N assoc I member vl-position mapcar N + N x (fonctions imbriqués) foreach vl-remove vl-remove-if vl-remove-if-not vl-some vl-sort vl-sort-i vl-member-if I + I x (fonctions imbriqués) vl-member-if-not
  2. C'est bien vos défis, perso j'arrive toujours un peu trop tard (ou trop la flegme c'est vrai). J'aurais une question sur l'optimisation, dans le fil de ce fil... http:// http://www.cadxp.com/sujetXForum-15170.htm http:// et plus particulièrement de ce que dit Didier-AD sur les unités de temps qui est très pédago : il y a cons, append, reverse.. Et les autres ? (assoc, member, mapcar..) . Et surtout les vl- comme vl-remove, qui sont bien pratiques ? A vous lire j'ai peur en les utilisant de tomber dans l'absence totale d'élégance.. dans le plouccisme absolu..
  3. Pour tes erreurs 3D (Gile) j'ai eu le mêm pb : je doit aussi réorienter le SCU avec un appel (command), d'où ma question sur les SCU.. Pour les pb d'approximation j'utilise ça : (or (wcmatch temp "*e-*")(wcmatch temp "*E-*")(zerop(distof temp))) Tu testes la différence avec cette ligne : si ça renvoit T c'est que les valeurs sont à peu près égales..
  4. Salut Comment contrôler le SCcourant en Lisp ? La seule solution que j'ai trouvé est de passer par le VBA mais c'est tt de suite très compliqué (voir ActiveUCS/Example dans l'aide), car la méthode ActiveUCS plante si le SCcourant n'est pas un SCU nommé. Le but est de pouvoir le modifier, or en Lisp je ne trouve rien qui permette de faire ça, et on ne peut pas passer par les variables systeme.. Il y a bien (Command "_ucs"... mais c'est pas terrible Qq'un sait comment faire ?
  5. je vais regarder mieux mais j'ai juste vu 2 erreurs : - si tu sélectionne l'extrémité finale d'une poly ouverte - surtout en 3D : le pointage ne marche plus dès que ton plan SCU n'est pas parallelle au SCO (par ex tu te mets en vue axo puis en repère vue)
  6. En effet c'est très efficace (juste 1 ou 2 erreurs) et je parlais bien de cet outil là avec + d'options, bvo pour le code
  7. Merci pour vos réponses qui permettent de voir un peu comment ça marche, sauf que.. - le code de (gile) utilise la commande (grread) en "non track" apparemment (en référence à la dénomination de l'aide) : cad que la commande génère une pause pour entrée utilisateur. Avec les parametres je la mettais sans arrêt d'exécution, après une invite (entsel) : dans ce cas la commande renvoie juste le contenu du buffer au moment de l'appel. C'est juste qu'avec (grread) en pause-invite, on ne peut pas mettre de message, en particulier avec option (ceux qui viennent à côté du curseur au moment de la sélection). - le code de Bonuscad avec (nentselp) est très pratique aussi et il pourrait être utilisé avec (grread) à la place de (getpoint), ce qui permettrait toutes les entrées possibles (pas seulement un pointage), sauf que pareil, pas de message d'invite. Bref merci, vous cassez pas la tête non plus
  8. Bonjour à tous J'ai une question sur (grread) pour laquelle je ne trouve pas de réponse dans les posts. Cette commande est particulièrement alambiquée et je ne parviens pas à lui faire cracher ce que je veux, à savoir simplement un retour sur une action clic de l'utilisateur, ou pas.. Il s'agit de savoir si un retour nil de (entsel) est du à une sélection vide, un clic-droit, ou Entrée/Espace (même en cas de sélection vide (entsel) renvoie nil sans les coordonnées du pointage) Donc y a t il un moyen pour obtenir avec (grread) : code 3 si clic ; code 12 si db-click ; code 2 si keyboard, et éventuellement code 5 si rien (déplacement sur l'écran graphique)... le tout en mode "tracking", car je ne cherche pas à remplacer la commande (entsel), qui va très bien... Dans ce mode la fonction renvoie les dble-clic, mais pas moyen de savoir si l'utilisateur a cliqué ou pas. Et sinon, question subsidiaire : il n'y a pas moyen de détecter les touches Ctrl, Alt et Shift ?? Dans les réacteurs je ne vois pas non plus.. Voilà je pense ne pas être le 1er à chercher ces trucs.. merci pour réponses éventuelles et a++
  9. krunch

    commande _pedit magique

    Tout à fait vrai pour les splines, et le truc est adaptable... sauf que là j'ai pas le courage de m'y replonger pour rien justement... Entre chercher à faire du fric, et ne plus vouloir passer des heures et des mois juste pour une petite satisfaction personnelle il y a une différence, et je vois pas ce qu'il y a de honteux.. Je le filerai c promis, mais plus tard..
  10. krunch

    commande _pedit magique

    éh oui pourquoi ne pas essayer d'en tirer quelquechose... ça pourrait vraiment être dans autocad par défaut (pour ceux qui connaissent Illustrator, c une transposition de Ajout-Suppr Ptd'ancrage). Je veux bien partager c'est pas la question, mais je peux aussi faire les 2..
  11. Bonjour Je suis un vieil utilisateur de AutoCAD qui s'est mis au Lisp à un moment, et qui a fini par pondre un outil très ergonomique, et très très pratique. Il s'agit d'une nette amélioration de la commande pedit : en 2 clics on ajoute un sommet à une poly, en 1 clic on retire un sommet ou segment. Il y a 2 options (Coupe et Multiple), qui permettent toutes les modifications possibles de la géometrie d'une polyligne de façon très immédiate. Ceux qui utilisent les polys, et donc la commande pedit ne cracheraient pas dessus... Cet outil a été débuggé dans tous les contextes (objet-papier-bloc), il conserve les associativités (de hachure par ex), les courbures et les épaisseurs des polys. Ma question est simple : à qui je peux le montrer ? Si possible chez Autodesk..
  12. krunch

    re-question

    Salut à tous (et bonne année) Je me permets de reposer ma question, en plus simple.. Y a t-il un moyen de créer un nouveau type d'entité basé sur un type existant (par exemple un polyligne spécial), et que les nouvelles propriétés (redéfinies) de ce type d'entité soit "lisibles" et modifiables directement depuis la fenêtre AutoCAD des propriétés.. Cette idée est-elle une chimère ? Demande-je l'impossible ? Tout ça bien sûr à partir d'un langage accessible comme vba.. Merci d'avance
  13. krunch

    objet personnalisé

    Bonjour à tous Je poste ici ma question en supposant que le LISP n'est pas approprié.. Alors voilà, je cherche à fabriquer un nouveau type d'entité (en l'occurence un bloc avec des attributs à contenu dynamique) gérée par une application. Ce type d'entité aurait de nouvelles propriétés, qu'il faut bien sûr pouvoir éditer.. Une solution serait de fabriquer une interface particulière (un fenêtre VBA, avec champs et bouton Appliquer). Mais afin de simplifier l'utilisation et d'utiliser l'interface existante, je voudrais que l'on retrouve ces propriétés directement dans la fenêtre des propriétés lors de la sélection.. : on sélectionne le truc et les propriétés personnalisées s'affichent dans la fenêtre, on peut ensuite les modifier.. Comme je suppute (ou suppose si vous préférez...) qu'il faut fabriquer une nouvelle classe ActiveX, ce qui n'a pas l'air simple, et que la doc de l'aide n'est pas très fournie.. Quelqu'un peut il m'aider là dessus ??? Merci d'avance
  14. Bonjour à tous et bravo pour ce site. C'est pour un pb très général avec AutoCAD. Si je programme (VBA ou Lisp) un traitement en boucle sur des entités du dessin, qui appelle soit une commande (SendCommand en VBA) soit des méthodes de jeux de sélection, ACad génère une erreur fatale au bout d'un nb variable (environ un millier) d'entités. Le code ne génère pas d'erreur mais l'interface a l'air de saturer au delà de qqs traitements ; on trouve aussi cette restriction avec les commandes Express _pljoin et _mpedit (éditer plusieurs polys à la fois) qui génèrent aussi une erreur fatale +sortie après 1000-1500 entités. Qq sait t'il comment éviter ça ?
×
×
  • 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é