Aller au contenu

KSJ77

Membres
  • Compteur de contenus

    27
  • Inscription

  • Dernière visite

KSJ77's Achievements

Newbie

Newbie (1/14)

1

Réputation sur la communauté

  1. Re Heu :mellow: alors là je donne ma langue au chat, mis à part si tu as des trames de calcul très différentes je ne vois pas. Je reviens de faire un test sur les 2 versions et avec même pièce cubique, même nbr de luminaire, même coefficient de réflexion et même facteur d'entretien -> Emoy sont égaux (seul les Emax et Emin sont un peu différent) Je me demande si sur Evo les point de calculs (trames n' co) sont bien calculer suivant la NF EN 12-464-1 à approfondir
  2. Salut Vérifie que tes facteurs d'entretien/maintenance soit identique sur les 2 versions Par défaut on a: 0.9 sur la 4.12 (qui est une aberration au passage à moins d’être dans des salles très très propre) 0.8 sur 5.2 a+
  3. Exemple d'un parc de stationnement http://img11.hostingpics.net/pics/283617parc1.jpg http://img11.hostingpics.net/pics/130759parc2.jpg http://img11.hostingpics.net/pics/389937parc3.jpg Un exemple que le Dialux de base est plus complet c'est la méthode de définition du facteur de maintenance http://www.dial.de/DIAL/fr/dialux/conseils-et-astuces/articles/la-methode-detaillee-du-plan-de-maintenance.html
  4. @Patrick_35 mon screen avec une meilleure résolution :) (il faut cliquer sur "modifier le degré de réflexion..." ) http://img15.hostingpics.net/pics/282360Evo.jpg Mais pas que ... je fais tous mes calculs avec celle-ci (NF EN 12-464, accessibilité etc..) que je trouve plus complète. Mais le jour où Evo intégrera l'import-export IFC je ne servirai plus de la version de base :)
  5. Bonjour, Je n'ai pas la dernière version de Evo mais sur la précédente c'est ici http://img15.hostingpics.net/pics/146407Evo.jpg Par contre il y a deux version de Dialux tu es sûr que tu n'as pas confondu avec le Dialux "normal" ? http://www.dial.de/DIAL/fr/dialux/telechargement.html Cordialement
  6. KSJ77

    Convertir Xref en bloc Spécial

    Merci pour vos suggestions :) J'ai quand même cherché une solution lisp et j'en ai trouvé un que j'ai légèrement modifié afin de l'adapter à mes besoins Voici le code (defun c:Xref2Block (/ ActDoc BlkCol LayCol Sel EntData BlkName BlkRefObj LayList NewBlk FullPath dbxApp ObjList Message NewBlkName) (setq ActDoc (vla-get-ActiveDocument (vlax-get-Acad-Object))) (setq BlkCol (vla-get-Blocks ActDoc)) (setq LayCol (vla-get-Layers ActDoc)) (setq Message "\n Enter block name: ") (if (and (while (or (not NewBlkName) (not (vl-catch-all-error-p (vl-catch-all-apply 'vla-Item (list BlkCol NewBlkName)))) ) (not (while (= (setq NewBlkName (getstring T Message)) ""))) (setq Message "\n Block name already exist, please type another: ") ) (setq Sel (entsel "\n Select Xref to turn into block: ")) (setq EntData (entget (car Sel))) (= (cdr (assoc 0 EntData)) "INSERT") (setq BlkName (cdr (assoc 2 EntData))) (setq BlkRefObj (vla-item BlkCol BlkName)) (= (vla-get-IsXref BlkRefObj) :vlax-true) ) (progn (vlax-for i LayCol (if (and (wcmatch (setq LayName (vla-get-Name i)) (strcat BlkName "|*")) (= (vla-get-LayerOn i) :vlax-true) (= (vla-get-Freeze i) :vlax-false) ) (setq LayList (cons (substr LayName (+ 2 (strlen BlkName))) LayList)) ) ) (setq NewBlk (vla-Add BlkCol (vla-get-Origin BlkRefObj) (strcat NewBlkName))) (if (setq FullPath (findfile (vla-get-Path (vlax-ename->vla-object (car Sel))))) (progn (setq dbxApp (if (< (atoi (setq oVer (substr (getvar "acadver") 1 2))) 16) (vla-GetInterfaceObject (vlax-get-acad-object) "ObjectDBX.AxDbDocument") (vla-GetInterfaceObject (vlax-get-acad-object) (strcat "ObjectDBX.AxDbDocument." oVer)) ) ) (vla-Open dbxApp FullPath) (vlax-for i (vla-get-ModelSpace dbxApp) (if (vl-position (vla-get-Layer i) LayList) (setq ObjList (cons i ObjList)) ) ) (vlax-invoke dbxApp 'CopyObjects ObjList NewBlk) (prompt (strcat "\n New block created name \"" NewBlkName "\".")) ) (progn (prompt "\n Can not find darwing to open.") (vla-Delete NewBlk) ) ) (vlax-release-object dbxApp) (setq dbxApp nil) ) ) (command "_erase" Sel "" "") (command "-inserer" NewBlkName (getpoint) 1 1 0 ) (princ) ) Il faut maintenant que je cherche à rajouter une alerte ou un filtre car lorsque l'on sélectionne autre chose qu'une Xref cela provoque une erreur (sélection d'un bloc par exemple).
  7. Bonjour, Lorsqu'un xref est présent plusieurs fois dans l'espace objet est-il possible de convertir l'un d'entre eux en bloc Je m'explique, sur un plan j'ai X chambres identiques dont chacune renvoi à un même Xref. Problème, je ne trouve pas la solution pour modifier une chambre spécifique (peut-être via un lisp), sachant que je ne veux pas passer par le gestionnaire de référence car cela va me transformer toute les chambres en bloc. Existe t-il un lisp inverse de "blocktoxref"? Merci d'avance pour votre aide :)
  8. Salut, Je vais compiler ceci, Par la suite j'essaierai d'intégrer ce filtre de sélection à la routine EATT histoire de me faire un exercice supplémentaire sous VS (comme je débute en .net) Encore merci
  9. Merci pour ta réponse (je vais tester et étudier cela) et puis par la même occasion merci pour tout le reste :) . EDIT: Fonctionne très bien, par contre si il y a d'autres attributs (par exemple un bloc composé de TOTO et TOTO2) chez moi cela ne fonctionne plus
  10. Bonjour, Je voudrais savoir comment complèter/modifier (si c'est possible) ce code avec un fitre supplémentaire afin de pouvoir par exemple selectionner que les blocs ayant l'attribut "TOTO" (peu importe sa valeur) TypedValue[] filter = new TypedValue[2] { new TypedValue(0, "INSERT"), new TypedValue(66, 1) }; PromptSelectionResult psr = _ed.GetSelection(new SelectionFilter(filter)); if (psr.Status != PromptStatus.OK) return; Merci d'avance
  11. Salut, Je déterre ce post car j'ai trouvé un lisp pour la numérotation de bloc avec une direction donnée auquel j'ai ajouté la possibilité de rajouter un suffixe ou préfixe. Voilà le code, si jamais ça peut aidé :) (defun c:numps(/ stStr stNum nLen cAtr dLst blName fLst blLst blSet aName sLst lZer aStr pt1 pt2 xSrt ySrt atype ns ss en ed an ad av nv) (vl-load-com) (if (and (setq stStr(getstring "\nSpécifier le numéro de départ: ")) (setq stNum(atoi stStr)) (setq nLen(strlen stStr)) ); end and (progn (if (and (setq cAtr(nentsel "\nSélectionner Attribut > ")) (= "ATTRIB"(cdr(assoc 0(setq dLst(entget(car cAtr)))))) ); end and (if (and (setq pt1(getpoint "\nSélectionner la direction de numérotation ")) (setq pt2(getpoint pt1 "\nSélectionner la direction de numérotation ")) ); end and (progn (if(<=(car pt1)(car pt2))(setq xSrt '<)(setq xSrt '>)) (if(<=(cadr pt1)(cadr pt2))(setq ySrt '<)(setq ySrt '>)) (setq blName (vla-get-Name (vla-ObjectIDToObject (vla-get-ActiveDocument (vlax-get-acad-object)) (vla-get-OwnerID (vlax-ename->vla-object(car cAtr))))) fLst(list '(0 . "INSERT")(cons 2 blName)) aName(cdr(assoc 2 dLst)) ); end setq (princ "\n<<< Selection des blocs à numéroter >>> ") (if (setq blSet(ssget fLst)) (progn (setq sLst (mapcar 'vlax-ename->vla-object (mapcar 'car (vl-sort (vl-sort (mapcar '(lambda(x)(list x (trans(cdr(assoc 10(entget x)))0 1))) (vl-remove-if 'listp (mapcar 'cadr(ssnamex blSet)))) '(lambda(a B)((eval xSrt)(caadr a)(caadr B)))) '(lambda(a B)((eval ySrt)(cadadr a)(cadadr B))))))) (foreach i sLst (setq lZer "") (repeat(- nLen(strlen(itoa stNum))) (setq lZer(strcat lZer "0")) ); end repeat (setq atLst (vlax-safearray->list (vlax-variant-value (vla-GetAttributes i)))) (foreach a atLst (if (= aName(vla-get-TagString a)) (vla-put-TextString a (strcat lZer(itoa stNum))) ); end if ); end foreach (setq stNum(1+ stNum)) ); end foreach ); end progn (princ "\nSélection nulle! Quit. ") ); end if ); end progn (princ "\nDirection non spécifiée! Quit. ") ); end if (princ "\nCe n'est pas un attribut! Quit. ") ); end if ); end progn (princ "\nNuméro de départ invalide! Quit. ") ); end if (prin1) (initget 1 "Suffix Prefix") (setq atype (getkword "\nAjout Suffix ou Prefix (S/P): ")) (initget 1) (setq ns (getstring t "\ntexte à ajouter: ")) (while (setq en (ssname blSet 0)) (setq ed (entget en) an (entnext en) ad (entget an)) (while (/= "SEQEND" (cdr (assoc 0 ad))) (setq av (cdr (assoc 1 ad)) nv (if (= atype "Prefix") (strcat ns av) (strcat av ns))) (entmod (subst (cons 1 nv) (assoc 1 ad) ad)) (setq an (entnext an) ad (entget an))) (entupd en) (ssdel en blSet)); end while (princ) ); end of c:numps
  12. Bonjour, Je vais essayer de suivre tes conseils :) En toute honnêteté il m'arrive de faire du copier coller de fonctions, mais j'ai bien pris conscience que programmer un lisp sans comprendre c'est comme faire du reverse engineering sur un code que l'on ne comprends pas. Question : Existe t-il un site équivalent à Afralisp en Français? Sur ce je vais me replonger une 2ème fois dans le guide de @Gilles.
  13. Bonjour, merci je vais étudier tout ça :)
  14. Déjà Merci :) (setq ss1 (ssget '((0 . "INSERT")))) (setq ss2 (ssget '((0 . "LWPOLYLINE") (-4 . "<or") (8 . "X1") (8 . "X2") (-4 . "or>")))) heu là je sèche :(
  15. Bonjour, En lisp comment faire une sélection de blocs qui ne sont pas "touchée" par des polylignes (polylignes qui serait sur les calques X1 et X2) Voici le résultat de cette sélection spéciale (2 blocs sélectionnés) http://img11.hostingpics.net/pics/195871lisp2.jpg Merci d'avance ;)
×
×
  • 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é