Aller au contenu

SF.Designer

Membres
  • Compteur de contenus

    103
  • Inscription

  • Dernière visite

  • Jours gagnés

    1

Tout ce qui a été posté par SF.Designer

  1. Bonjour a tous, aujourd'hui je bloque sur la création et l'insertion d'un bloc seulement avec des lisp, sans dwg. Dans un premier temps j'ai des lisp crées grâce au lisp "drawing to lisp" (dwgtolsp), auquel j'ai ajouté les instructions "entmake" pour créer les blocs dans mon dessin. Block_SigneTorsade.lsp (defun EntmakeSigneTorsade nil (entmake '( (0 . "block") (2 . "SigneTorsade") (10 0.0 0.0 0.0) (70 . 2) ) ) (entmakex '( (0 . "LINE") (5 . "163") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbLine") (10 0.0 1.42875 0.0) (11 0.0 2.95013 0.0) (210 0.0 0.0 1.0) ) ) (entmakex '( (0 . "ELLIPSE") (5 . "164") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbEllipse") (10 0.0 0.0 0.0) (11 0.0 1.42875 0.0) (210 0.0 0.0 1.0) (40 . 0.6) (41 . 4.85944) (42 . 7.70693) ) ) (entmakex '( (0 . "POINT") (5 . "186") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbPoint") (10 0.0 0.0 0.0) (210 0.0 0.0 1.0) (50 . 0.0) ) ) (entmakex '( (0 . "POINT") (5 . "188") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbPoint") (10 0.0 0.0 0.0) (210 0.0 0.0 1.0) (50 . 0.0) ) ) (entmake '((0 . "endblk"))) (princ) ) Dans un second temps, je crée un lisp pour insérer les blocs précédemment crées. BlockInsert.lsp (defun c:InsertSigneTorsade () (progn (cond ((findfile "Block_SigneTorsade.lsp") (SetToDraw) (load "Block_SigneTorsade.lsp") ) ) (vl-cmdf "._-INSERT" "SigneTorsade" pause "1" "1" "0" "") (princ "\n--- Signe Torsade inséré ---\n") (princ) ) ) PS: (SetToDraw) = (setvar "SNAPMODE" 1) + (setvar "SNAPUNIT" '(1 1) + (setvar "OSMODE" 1024) Le 1er problème est que le bloc ne se crée pas dans mon dessin a l'action du lisp entmake. Le 2eme probleme est que l'instruction d'insertion cherche un fichier dwg et non pas dans la bibliotheque de bloc du dessin. Message d'erreur d'autocad : Commande: InsertSigneTorsade Initialisation... "SigneTorsade.dwg": Impossible de trouver le fichier dans le chemin de recherche Un immense merci d'avance a la personne qui m'aidera a débloquer la situation, j'ai enormement de blocs a créer ainsi
  2. Bonjour a tous, Je souhaiterais rajouter une condition a cette fonction de creation de calque : - Si le calque existe, en ne prenant en compte que les 6 premieres lettres, donc : "NONBOR*" ou "NON BO*" - Renomer le calque existant en NONBORNABLE et definir sa couleur en 5. - si plusieurs calques existe avec ces debut de nom citées en premier point, alors creer le calque NONBORNABLE et deplacer tous les elements des calques existant dans ce nouveau calque. (defun LayerNonBornableBleu () (if (not (tblsearch "LAYER" "NONBORNABLE")) (entmake '( (0 . "LAYER") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLayerTableRecord") (2 . "NONBORNABLE") (6 . "BYLAYER") (62 . 5) ; Couleur Bleu (70 . 0) ) ) ) ) Merci d'avance a ceux qui pourrons me depanner !!!
  3. SF.Designer

    Autocad et W10

    Autocad 2012, migration windows 10 le 05/08, aucun probleme !!!
  4. Je suis aussi sur marseille, mojito bonnnnnn ca, ca change du petit jaune !!!
  5. SF.Designer

    Bitmap pour DCL

    Je dois être un boulet aujourd'hui, mais ça me sors une erreur, pourtant BMP de 50x50 en 24bits ... type d'argument incorrect: VLA-OBJECT nil Note pour plus tard: 4 jours sans dormir c'est jamais très bon pour le cerveau !!!
  6. SF.Designer

    Bitmap pour DCL

    Oui je le connaissais ce lien sur swamp par Lee !!! Je vais essayer d'approfondir mais je me rend fou surtout pour transformer mon BMP en TXT !!! Il y a un coté concret a tous ça et une façon d'utiliser DCLBitmap de Lee que j'arrive a pas a capter... Je m’énerve moi même des fois !!!
  7. SF.Designer

    Bitmap pour DCL

    Salut, Patrick aurais tu la possibilité de me dire comment l'utiliser ce lisp, je me rend fou depuis un baille pour améliorer mes dcl avec des images !!!
  8. Le Maxi en impression en PDF : 5080 mm x 5080 mm Format paysage : En X = A4 x 17 / En Y = A4 x 24 Formats d'impression (Paysage).zip Format portrait : En X = A4 x 24 / En Y = A4 x 17 Formats d'impression (Portrait).zip
  9. SF.Designer

    Lundi de Pentecôte

    Nous aussi tous le BE de Marseille tourne !!! Tous ca pour des retraites alors que nous on auras droit a rien le jour ou on sera a la retraite, argggg
  10. Bonjour, ta hachure m'interresse, histoire de comparer avec d'autre méthode. Mais aussi ton lisp de calcul du poids des matieres. Si tu peux nous les poster ici. Merci d'avance !
  11. SF.Designer

    Fichiers de support

    Pour l'integration par le biai d'un fichier lsp des chemins securisés, voici les lignes a personnaliser : (setq listCheminsApprouveBase (strcat (getvar "TRUSTEDPATHS") ";S:\\mes_documents\\autocad")) ; (setvar "TRUSTEDPATHS" listCheminsApprouveBase) ----------------------------------------------------------------- Et pour les chemins de support non securisé : (setq listCheminsSupportBase (strcat (getenv "ACAD") ";S:\\mes_documents\\autocad")) (setenv "ACAD" listCheminsSupportBase) S:\\mes_documents\\autocad = exemple de chemin ----------------------------------------------------------------- Un exemple en combinant plusieurs chemin (Applicable au deux exemple cité précédemment) Repérer les chemins de base du logiciel et les intégrer au debut de cette suite pour ne pas les perdre. (setenv "ACAD" "") (setq listCheminsSupport (strcat (getenv "ACAD") ";Chemin de base du logiciel" ";Chemin de base du logiciel" ";Chemin personnel" ";Chemin personnel" ";C:\\Program Files\\Raster Design 2010 OE" ";C:\\Program Files\\AutoCAD Raster Design 2010" ";C:\\Program Files\\AutoCAD Raster Design 2010\\Help" ";C:\\Program Files\\Common Files\\Autodesk Shared\\AxUi" ) ) (setenv "ACAD" listCheminsSupport)
  12. +1 pour relancer le post qui peut être intéressant !!!
  13. SF.Designer

    Publier et tracer

    Possibilité d'imprimer avec autocad et DWGtrueview en mm temps !!!
  14. Belle article, belle vitrine pour le forum !!!
  15. Merci beaucoup, je voie que cela ouvre pas mal de possibilité outre celle ci !!!
  16. Salut gégé, Les deux commandes textscr et graphscr permette seulement de basculer de l'espace graphique a l'espace fenêtre de texte et inversement, mais pas de fermer complètement la fenêtre de texte, ou alors je l'ai mal implanté dans mon lisp !!! PS: Ecrangra ne me ferme pas non plus la fenêtre de texte mais me bascule comme graphscr !!!
  17. Hello, ces deux solutions m’étaient déjà venu a l'esprit et déjà tester! Filedia = Active/Désactive l'ouverture des boites de dialogue en les remplaçant par les instructions en ligne de commande Cmdecho = Active/Désactive l'affichage des entrée de commande dans des instruction autolisp sur la ligne de commande Du coup je sèche (comme le poisson ^^) !!!
  18. Bonjour tous le monde, Pourquoi la fenêtre de texte autocad s'ouvre a chaque fois avec ceci: (command "-CALQUE" "a" "e" "SavTemp" "" "" "") ; Sauvegarder l'etat des calques, !!! LA FENETRE DE TEXTE S'OUVRE A CETTE INSTRUCTION !!! (command "-CALQUE" "li" "*" "d" "*" "ac" "*" "") ; Degeler, Deverouiller, Activer les calques ;;; Mes différentes instruction ;;; (command "-CALQUE" "a" "r" "SavTemp" "" "") ; Restaurer l'etat des calques (command "-CALQUE" "a" "s" "SavTemp" "" "" "") ; Supprimer sauvegarde d'etat des calques Donc comment empêcher l'ouverture de celle ci ou comment la faire se refermer a la fin de ces instruction ??? Merci oh grand cadiens ;)
  19. Voila le fichier lin de base du type de ligne, que j'ai du zipper car je n'ai pas pu l'upload. Et le lisp dans lequel je souhaite insérer la création du type de ligne ! Ligne - Copie.lsp Depose.zip
  20. Ca m'enerve hier soir cela fonctionné et ce matin ca ne marche plus, AAAAAAAAAAAAAAAAAAAAA Voila mon code de base de ma ligne: *DEPOSE,---x--- A,6,-.1,["x",iso,S=3,R=0.0,X=-.8,Y=-1.05],-.3
  21. Merci beaucoup document super instructif. Mais je n'arrive pas a comprendre pourquoi "entget" me retourne le (74 . 0), alors que pour creer il faut que ce soit parametré (74 . 2). Je cherche.... ;)
  22. Oula vieux sujet que je vais relancer ! Pourquoi ceci fonctionne ? - Instruction: (entget (tblobjname "ltype" "discontinu")) - Resultat: ((-1 . <Nom d'entité: 7ffffb07f30>) (0 . "LTYPE") (330 . <Nom d'entité: 7ffffb03850>) (5 . "35B") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLinetypeTableRecord") (2 . "DISCONTINU") (70 . 0) (3 . "__ __") (72 . 65) (73 . 2) (40 . 9.6) (49 . 6.4) (74 . 0) (49 . -3.2) (74 . 0)) - Modifier pour lisp: (entmake '((0 . "LTYPE")(100 . "AcDbSymbolTableRecord")(100 . "AcDbLinetypeTableRecord")(2 . "DISCONTINU")(70 . 0)(3 . "__ __")(72 . 65)(73 . 2)(40 . 9.6)(49 . 6.4)(74 . 0)(49 . -3.2)(74 . 0))) Alors que ceci ne fonctionne pas ? - Instruction: (entget (tblobjname "ltype" "depose")) - Resultat: ((-1 . <Nom d'entité: 7ffffb05890>) (0 . "LTYPE") (330 . <Nom d'entité: 7ffffb03850>) (5 . "2F1") (100 . "AcDbSymbolTableRecord") (100 . "AcDbLinetypeTableRecord") (2 . "DEPOSE") (70 . 0) (3 . "---x---") (72 . 65) (73 . 3) (40 . 6.4) (49 . 6.0) (74 . 0) (49 . -0.1) (74 . 2) (75 . 0) (340 . <Nom d'entité: 7ffffb05840>) (46 . 3.0) (50 . 0.0) (44 . -0.8) (45 . -1.05) (9 . "x") (49 . -0.3) (74 . 0)) - Modifier pour lisp: (entmake '((0 . "LTYPE")(100 . "AcDbSymbolTableRecord")(100 . "AcDbLinetypeTableRecord")(2 . "DEPOSE")(70 . 0)(3 . "---x---")(72 . 65)(73 . 3)(40 . 6.4)(49 . 6.0)(74 . 0)(49 . -0.1)(74 . 2)(75 . 0)(46 . 3.0)(50 . 0.0)(44 . -0.8)(45 . -1.05)(9 . "x")(49 . -0.3)(74 . 0))) Je sais que c'est un type de ligne ayant un objet texte a l'interieur (X en l'occurence) Doit on séparer la création du graphisme et du texte, et ensuite les lier ? J'ai beau écumer les code dxf je trouve pas la solution !!! PS: C'est bon trouvé, la premiere instruction (74 . 0) juste apres (49 . 6.0), doit etre declarer (74 . 2) contrairement au resultat du "entget" Pour 74 : 2 = L'élément incorporé est une chaîne de caractères - Resultat, Modifier pour lisp: (entmake '((0 . "LTYPE")(100 . "AcDbSymbolTableRecord")(100 . "AcDbLinetypeTableRecord")(2 . "DEPOSE")(70 . 0)(3 . "---x---")(72 . 65)(73 . 3)(40 . 6.4)(49 . 6.0)(74 . 2)(49 . -0.1)(74 . 2)(75 . 0)(46 . 3.0)(50 . 0.0)(44 . -0.8)(45 . -1.05)(9 . "x")(49 . -0.3)(74 . 0)))
  23. Je me disais bien que "if", appelait a être utilisé pour des conditions multiples, merci pour le "or", je me met cela a jour de suite ... Et merci pour le bench, je vais me tester ca !
  24. Bonjour a tout le monde, Question du jour : Comment améliorer encore cette routine ? Version 1: (defun c:SF_Ligne_Pose () (command "filedia" "0") (command "-style" "iso" "es_isocp.shx" "" "" "" "" "") (command "_linetype" "ch" "DISCONTINU" "SF.Designer.lin" "") (command "filedia" "1") (command "-calque" "N" "POSE" "CO" "1" "POSE" "TL" "DISCONTINU" "POSE" "") (command "_clayer" "pose") (command "_color" "bylayer") (command "-typeligne" "A" "bylayer" "") (command "resol" "0.50") (command "ortho" "AC") (command "-accrobj" "aucun") (command "ligne") ) Version 2: (defun c:Ligne_Pose () ;Désactiver boite de dialogue (if(not (= (getvar "FILEDIA") 0))(setvar "FILEDIA" 0)) ;Creer STYLE de texte "iso" avec Type de texte "es_isocp.shx" (if (not (tblsearch "STYLE" "ISO"))(command "-STYLE" "iso" "es_isocp.shx" "" "" "" "" "")) ;Charger type de ligne "Discontinu" (if (not (tblsearch "LTYPE" "DISCONTINU"))(command "_LINETYPE" "CH" "DISCONTINU" "TYPES_LIGNES.lin" "")) ;Creer calque "Pose", couleur "Rouge", type de ligne "Discontinu" (if (not (tblsearch "LAYER" "POSE"))(command "-CALQUE" "N" "POSE" "CO" "1" "POSE" "TL" "DISCONTINU" "POSE" "")) ;Activer boite de dialogue (if (not (= (getvar "FILEDIA") 1))(setvar "FILEDIA" 1)) ;Declarer calque "Pose" courant (if (not (= (getvar "CLAYER") "POSE"))(setvar "CLAYER" "POSE")) ;Declarer couleur "DuCalque" courant (if (not (= (getvar "CECOLOR") "BYLAYER"))(setvar "CECOLOR" "BYLAYER")) ;Declarer type de ligne "DuCalque" courant (if (not (= (getvar "CELTYPE") "BYLAYER"))(setvar "CELTYPE" "BYLAYER")) ;Active l'accrochage a la grille (if (not (= (getvar "SNAPMODE") 1))(setvar "SNAPMODE" 1)) ;Definir la résolution a 0.50x0.50 (if (not (= (getvar "SNAPUNIT") '(0.5 0.5)))(setvar "SNAPUNIT" '(0.5 0.5))) ;Activer Modo Ortho (if (not (= (getvar "ORTHOMODE") 1))(setvar "ORTHOMODE" 1)) ;Desactiver accrochage aux objets (if (not (= (getvar "OSMODE") 1024))(setvar "OSMODE" 1024)) ;Lancer fonction ligne (command "LIGNE") ) Je sais deja que je peux remplacer : Ca: (command "-STYLE" "iso" "es_isocp.shx" "" "" "" "" "") Par: (entmake (list '(0 . "STYLE") '(100 . "AcDbSymbolTableRecord") '(100 . "AcDbTextStyleTableRecord") '(2 . "ISO") '(70 . 0) '(40 . 0.0) '(41 . 1.0) '(50 . 0.0) '(71 . 0) '(42 . 2.5) '(3 . "es_isocp.shx") '(4 . ""))) Mais est ce plus rapide en exécution ou autocad le comprend il mieux ? Et si vous avez des conseils et bien je prend, je garde et j'y cogite hehehe
  25. Ah mince quand je disai en Quote c'etais pour dire que je repetais tes phrase ^^ (
×
×
  • 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é