-
Compteur de contenus
63 -
Inscription
-
Dernière visite
-
Jours gagnés
2
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par Flobott
-
Salut la communauté, Fin du mois d'aout un client ma demandé de lui transformer un PDF (vectoriel) en DWG car il n'avait plus de source et dans l'impossibilité de les récupérer. J'ai fait une routine Lisp pour la conversion PDF en DWG par lot en utilisant la commande "ImportPDF" d'AutoCAD. Je vous la partage, vu l'occasion du post. (Cela reste de la conversion, donc rien de parfait avec "importPDF" mais cela aide pour les vieux plan avec base vectoriel et un peut de remise en forme) (Rien de fou, un truc fait en une journée qui peut dépanner, je n'ai pas eu le temps de simplifier le LISP, ni de faire la gestion d'erreur si trop de page PDF demandé, le FILDIA sautera si cela arrive) ;------------------------------------------------------------------------------- Début --------------------------------------------------------------------------------------------- (defun C:PDFtoDWG (/ var1 a b repertoire PtBloc NbPg res NbPgPDF result result1 InsertNomDuPDF CompNbPg TxtLienFichier ) ;Début de la fonction boite de dialogue pour la selection d'un dossier. ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- (defun browseForFolder ( / sh folder folder1 folderobject folderobject1 ) (vl-load-com) (setq sh (vla-getInterfaceObject (vlax-get-acad-object) "Shell.Application" ) ) (setq folder (vlax-invoke-method sh 'BrowseForFolder (vla-get-HWND (vlax-get-Acad-Object)) "Sélectionnez le fichier PDF pour la convertion graphique." 16384 ; Permet de parcourir tout : la boîte de dialogue de navigation affiche les fichiers ainsi que les dossiers. "J:\\" ) ) (setq folder1 (vlax-invoke-method sh 'BrowseForFolder (vla-get-HWND (vlax-get-Acad-Object)) "Sélectionnez le dossier pour la dépose des fichiers DWG. " 64 ; Activez la fonction glisser-déposer dans la boîte de dialogue, la réorganisation, les menus contextuels, les nouveaux dossiers, la suppression et d'autres commandes de menu contextuel. "J:\\" ) ) (vlax-release-object sh) (if folder (progn (setq folderobject (vlax-get-property folder 'Self) ) (setq result (vlax-get-property FolderObject 'Path) ) (vlax-release-object folder) (vlax-release-object FolderObject) ) ) (if folder1 (progn (setq folderobject1 (vlax-get-property folder1 'Self) ) (setq result1 (vlax-get-property FolderObject1 'Path) ) (vlax-release-object folder1) (vlax-release-object FolderObject1) (if (/= (substr result1 (strlen result1)) "\\" ) (setq result1 (strcat result1 "\\") ) result1 ) ) ) ) ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- ;Fin de la fonction boite de dialogue pour la selection d'un dossier. ;Début de la fonction de calcul du nombre de page d'un PDF. ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- (defun _PDFPageCount ( filename / fob fso mat reg str ) (vl-load-com) (if (and (setq filename (findfile filename)) (eq ".PDF" (strcase (vl-filename-extension filename))) ) (vl-catch-all-apply (function (lambda ( / _ReadAsTextFile _CountPage ) (defun _ReadAsTextFile ( fso fn / fob str res ) (setq fob (vlax-invoke fso 'getfile fn) str (vlax-invoke fso 'opentextfile fn 1 0) res (vlax-invoke str 'read (vlax-get fob 'size)) ) (vlax-invoke str 'close) (vlax-release-object str) (vlax-release-object fob) res ) (defun _CountPage ( rgx str / mat pag ) (vlax-put-property rgx 'pattern "/Type\\s*/Page[^s]") (vlax-put-property rgx 'ignorecase actrue) (vlax-put-property rgx 'global actrue) (setq mat (vlax-invoke rgx 'execute str) pag (vlax-get mat 'count) ) (vlax-release-object mat) (if (zerop pag) 1 pag) ) (setq fso (vlax-create-object "Scripting.FileSystemObject") reg (vlax-create-object "VBScript.RegExp") str (_ReadAsTextFile fso filename) res (_CountPage reg str) ) ) ) ) ) (foreach obj (list str fob mat fso reg) (vl-catch-all-apply 'vlax-release-object (list obj)) ) res (setq NbPgPDF res) ) (princ) ;--------------------------------------------------------------------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------------------------------------------------------------------- ;Fin de la fonction de calcul du nombre de page d'un PDF. (setq var1 (getvar "FILEDIA")) ;Sauvegarde les variable de l'utilisateur FILEDIA. (setvar "FILEDIA" 0) ;Empèche l'ouverture de la boîte de dialogue dans AutoCAD -> Saisie sur ligne de commande. (princ "\n---------------------------------------" ) (princ "\nSélection par boîtes de dialogue." ) (princ "\n---------------------------------------" ) (princ "\n ") (if (not (setq repertoire (browseForFolder))) (progn (princ "Vous avez annulée la routine.") (setvar "FILEDIA" var1) ;Active les invites ou la boîte de dialogue pour les valeurs d'attributs pendant la commande INSERER. (exit) ) ) ;Ouvre les explorateurs pour définir le fichier PDF et le dossier de dépose des DWG. (setq InsertNomDuPDF result) ;Définie le lien du PDF a importer pour convertion. (princ "\n---------------------------------------" ) (princ "\nCalcul du nombre de pages du PDF en cours." ) (princ "\n---------------------------------------" ) (princ "\n ") (_PDFPageCount InsertNomDuPDF) ;Lance la fonction de calcul du nombre de page du PDF en fonction du PDF séléctionné précédement. (princ "\n---------------------------------------" ) (princ (strcat "\nLe PDF sélectionné a " (itoa res)" pages." )) (princ "\n---------------------------------------" ) (princ "\n ") (initget 0) ;Autorise une valeur nul. (if (= nil (setq b (getint (strcat "\nEntree le nombre de pages <" (itoa res) "> : ")))) ;Si la valeur est nul alors la valeurs par défaut contenue dans "res" est utilise. (setq b (itoa res)) ;Vateur par défaut "res" le nbrs de page du PDF. (setq b (itoa b)) );Sinon l'utilisateur indique la valeur de la page voulu. (setq CompNbPg 1) ;Initialise le compteur a le valeur 1. (setq a '(0.0 0.0 0.0)) ;définie les coordonées d'insertion du PDF. (setq PtBloc a ) ;Definie les coordonnées x, y et z du point d'incertion du PDF. (command "_save" "dessinTemp.dwg" "_Y") ;Sauvegarde en dessin temporaire. (while (<= CompNbPg (atoi b)) ;Tant que le nombre de pages est inférieur ou égale avec la valeur b. (command "_erase" "_all" "") ;Supprime l'ensemble du dessin. (setq PtBloc a ) ;Definie les coordonnées x, y et z du point d'insertion du PDF. (command "_-PDFIMPORT" "f" result CompNbPg PtBloc 1 0) ;Insert le fichier PDF vectoriel en élement graphique. (command "_zoom" "_e") ;Zoom sur l'ensemble du dessin. (command "_purge" "_all" "*" "_n") (command "_purge" "_all" "*" "_n") (command "_purge" "_all" "*" "_n") ;Purge l'ensemble du dessin (3 passes). (setq TxtLienFichier (strcat result1(strcat "PDF-PAGE-"(itoa CompNbPg)".dwg"))) ;Définie le lien de créeation des fichier dwg pour chaque pdf. (command "_save" TxtLienFichier "_y") ;Sauvegarde en dessin temporaire. (setq CompNbPg (1+ CompNbPg )) ;Incrémentation du compteur. );Fin de la boucle. (command "_erase" "_all" "") ;Supprime l'ensemble du dessin. (setvar "FILEDIA" var1) ;Charge les variables de l'utilisateur FILEDIA. (princ "\n---------------------------------------" ) (princ "\nLa routine LISP : PDFtoDWG est terminée." ) (princ "\n---------------------------------------" ) (princ "\n ") (alert "La routine LISP : PDFtoDWG est terminée.") ;Alerte l'utilisateur sur la fin de l'application (command "_close" "_Y") ;Fermeture du dessin temporaire. (princ) ) ;------------------------------------------------------------------------- FIN -------------------------------------------------------------------------------------- En espérant que cela aide ^^
-
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
@LElemurien Merci pour la troisième technique, je n'ai testé que le premier tiers par manque de temps mais je trouve cette façon de faire très simple 🙂 -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
@m.l21 j'avais le souci car je n'avais pas fait de révolution de ma base en polyligne fermée et en mode Objet. Cela fonctionné très bien avec un objet pour le coup ^^ -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
Merci @DOMI pour l'aide et le temps passé ^^ J'ai fini par réussir mon objet 3D : Anneau_de_peinture_échantillon.dwg Alors pour faire le point et mon constat sur ma modélisation 3D : 1er impératif constaté qui m'a posé problème dans la révolution ou l'extrusion, l'objet auquel on applique ces commandes doit être une suite de polyligne jointe entre elle. J'ai dû recrée ma base en polyligne et joindre toutes les polylignes entre elles pour obtenir un objet 3D à la révolution et sans cela j'obtenais des surfaces, même en mode objet. Ensuite à la soustraction, j'obtenais un "Error Code Number is 18003" qui m'empêché de la réaliser et qui étais dû au fait que les deux surfaces supérieures des mes objets 3D était parfaitement l'une sur l'autre dans le plan, j'ai donc fait dépasser ma pièce à soustraire de 0.01 vers l'extérieur de mon anneau et la soustraction a fonctionné. Merci beaucoup pour l'aide @DOMI @m.l21 , la modélisation 3D sur AutoCAD n'est pas très intuitive, je l'avoue mais une fois certaines bases acquises cela semble accessible et correct en résultat. -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
-
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
J'ai compris que je devais faire ma révolution en mode SOLIDE car par défaut je suis en surface et maintenant j'arrive à soustraire mes trois profils 😄 Par contre chose que je ne comprends pas c'est que je suis creux donc je vois l'intérieur de mon anneau, comment me retrouver avec un solide 3D plein ? -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
Pour la deuxième méthode @DOMI, j'ai bien réalisé mes formes jusque-là merci à vous deux pour l'utilisation de la révolution. Pour la partie création des 3 profils à soustraire pas de soucis pour les faire mais par contre lors de la soustraction, je n'ai que la partie supérieure de l'anneau qui se retire, j'ai fait un teste en montant ma pièce, en faisant des unions sur mes surfaces et cela sans résultat différent. j'ai donc un souci sur les deux méthodes proposé lors de ma réalisation, je vous remets le fichier .dwg Anneau_de_peinture_échantillon.dwg pour toute évaluation sur mes réalisations afin de déterminé si j'ai fait une erreur dans ma conception. -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
Je commence en testant la méthode de @m.l21 Pour les partie révolution, pas de soucis j'ai réussi a faire la base de mon anneau et la partie superieur en 1/3 mais je bloque sur la commande areteaccord ; Petit code erreur 12059, je suis partie sur un rayon 1.0 par défaut en sélectionnant l'arête horizontale comme cité sans résultat pour le moment, j'aimerais bien une explication sur l'utilisation de cette commande dans notre situation. Je testerais la deuxième méthode dans l'après-midi. -
[Resolu] Aide dessin 3D - Demi Anneau
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
Merci pour les réponses, le Week-end arrivant je vais pouvoir tester tout cela mais le résultat du poste de m.l21 est bien ce que je recherche à faire ^^ -
Bonjour la communauté, Je suis en découverte d'AutoCAD en 3D, n'ayant fait que du 2D à mes débuts et je bloque sur la réalisation de ma première pièce. En début de réalisation, je me suis fait un croquis 2D pour visualiser ce que je souhaitais faire : J'ai fait la base en appuyer/tirer mes deux première cercle pour faire l'anneau et la partie supérieure incurvée avec un lissage sur 4 cercles avec se résulta : Et je les ai assemblés en l'est posant l'un sur l'autre : Donc ma premier question, peut-on réaliser mon anneau actuellement fait en deux parties d'un seul élément ? car en réalisant le lissage sur les 4 cercles j'obtiens une hauteur plus grande que voulue : Ma technique n'est pas bonne. Ensuite je souhaitais séparer le haut de l'anneau incurvé en 3 parties mais sans réussite de mon côté car le lissage ne marche plus sur une surface plus complexe. Si quelqu'un, peut me donner des conseils et m'assistés pour la réalisation de ma pièce en m'expliquant certains principes et quelle étape réalisée. En vous remerciant d'avance, je joins mon DWG au sujet comme base. Anneau_de_peinture_échantillon.dwg
-
Mon raccourci est bien pour le passage d'onglet à onglet, autant pour moi je n'avais pas compris que tu voulais passer de présentation en présentation.
-
Salut, Pour faire défiler les onglets sur AutoCAD tu peux utiliser le raccourci ctrl+TAB , comme sur un navigateur internet par exemple. Le défilement se fait toujours de l'onglet de gauche vers l'onglet de droite, en gardant ctrl enfoncé, chaque appui sur TAB fait passé sur l'onglet suivant. Bon défilement.
-
Pour ma part, de mon côté : 100% de mes blocs sont du calque 😜
-
Comment faire un bouton avec une image dans un DCL ?
Flobott a répondu à un(e) sujet de DenisHen dans Pour aller plus loin en LISP
@didier Pas de soucis, je t'ai fait un extrait fonctionnel en vitesse, commande TL. Tuile_alignees.lsp Ne le laisse pas trop de côté, ton site m'a bien aidé à mes débuts (et pas que à mes début) dans le DCL et je ne dois pas être le seul mais un temps pour tous c'est mieux ^^ -
Comment faire un bouton avec une image dans un DCL ?
Flobott a répondu à un(e) sujet de DenisHen dans Pour aller plus loin en LISP
@didier Tu obtiens un alignement sur leurs bases malgré la ligne et les colonnes, je te fournis en pièce jointe un extrait de mon code (entre les ligne 242 et 567), en espérant que cela t'aide.Extrait_DCL.lsp @DenisHen Super t'as trouvaille, je pense que top et bottom doivent aussi fonctionner, à tester. Pour ma part si je change mes "vertical_margin=none;" en "vertical_margin=centered;" cela me donne le même resultat que si je n'avais pas mis de "vertical_margin=none;". et avec "vertical_margin=none;" en colonne dans une ligne j'ai un bon résultat : J'espère que mon code peut vous aidez à aligner différentes tuiles, dans mon cas : toggle, edit_box, text et image_button sont alignées. -
Comment faire un bouton avec une image dans un DCL ?
Flobott a répondu à un(e) sujet de DenisHen dans Pour aller plus loin en LISP
@DenisHen Pour aligner le texte à un edit_box il faut mettre ton texte dans une colonne, mettre ton édit box dans une autre colonne et mettre les deux colonnes dans une ligne. c'est ce que j'ai dans ma boîte de dialogue "données câble" : -
Comment faire un bouton avec une image dans un DCL ?
Flobott a répondu à un(e) sujet de DenisHen dans Pour aller plus loin en LISP
Salut @DenisHen pas de soucis pour le partage. Pour le texte et les radios, tu peux faire l'inverse pour les alignées sur leur base, tu mets le "vertical_margin = none;" sur les boutons radios; pour avoir un résultat plus propre ^^ J'avais dû aligner des images avec des boutons radio : -
Bouton image avec un texte ?
Flobott a répondu à un(e) sujet de Flobott dans Pour aller plus loin en LISP
Oui j'avais pensé à cette solution mais comme mes textes seront des chiffres entre 1 et <1000 je me vois mal stocker autant d'information dans ma liste. Je vais partir sur un texte à côté de l'image cela sera un peu moins esthétique mais reviendra au même. Merci pour l'aide à la réflexion Fraid. -
Bouton image avec un texte ?
Flobott a répondu à un(e) sujet de Flobott dans Pour aller plus loin en LISP
Récupérer une valeur (setq TexteBoutonImage 1) par exemple et intégré le 1 dans mon image bouton. Par avant tu voudrais dire quoi, l’intégré entre mon (start_image / end_image) ou à mon vector_image ? Ou une solution dans le DCL comme Label ? -
Bonjour, Je cherche à ajouter un texte à un bouton image mais sans succès, si quelqu'un à une solution ou une réflexion à me proposer. : image_button { ne prend pas de label de ce que j'ai compris et testé.
-
Comment faire un bouton avec une image dans un DCL ?
Flobott a répondu à un(e) sujet de DenisHen dans Pour aller plus loin en LISP
J'ai trouvé une solution pour aligner les edit_box et les boutons il suffit de rajouter : vertical_margin=none; dans l'edit_box voire le lien suivant : https://www.cadtutor.net/forum/topic/70013-vertical-alignment-dcl/ -
Dessinateur (salaire / opinion)
Flobott a répondu à un(e) sujet de Nico59 dans Emploi, monde du travail
Par mon expérience, je me suis rendu compte à mes débuts d’intérimaire parcourant les petit/moyen et grande entreprise que l'on peut être exploité ou pas, dans tout type de structure, cela va dépendre du cadre et de l'ambiance de la société dite. La différence pour ma part qui m'a fait préférer une petite entreprise en CDI est cette différence suivante, SOUVENT mais pas constamment les grandes entreprises gèrent leur salarier comme des numéros (trop de monde cela explique) et place leurs salariés à une tache bien définie et répétitive pour éviter les erreurs et avoir une bonne organisation/rendement, les prestations salariales y sont souvent meilleures mais la découverte du métier mettra plus de temps pour un débutant. Alors que les petites entreprises forcent à la polyvalence si tu ne le fais pas tu n'as pas forcément de collègue pour le faire à ta place ou qui aura le temps de pouvoir le faire. Les prestations salariales y sont moins avantageuses mais la découverte du métier y est complète. Bien pour ma part dans les 10/15 premiers années de carrière. Cela reste un avis personnel, mais dans une petite entreprise si tu exploites trop tes salariés, ils ne resteront pas et le recrutement est plus difficiles pour une petite et moyenne entreprise que pour une grande, ce qui peut donner l'impression que l'ambiance des petites entreprises semble meilleure que dans les grandes. Mais heureusement que toutes les grandes entreprises ne sont pas à ambiance délétère ^^ -
Lier mes Folios a mon sommaire dans un PDF
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
2.Soit en shell : http://code18.blogspot.com/2010/07/ouvrir-un-pdf-la-bonne-page-par-le.html Utilisé en shell -> C:\Program Files\Adobe\Reader 9.0\Reader>AcroRd32.exe /A page=10 "c:\document.pdf" pour cibler une page pdf mais utilisation d'une boîte de dialogue windows et obligation de cibler le lecteur de PDF ne me semble pas judicieux non plus. Ce n'est pas gagné mon affaire ! -
Lier mes Folios a mon sommaire dans un PDF
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
J'ai trouvé deux moyens d'ouvrir un PDF à une page spécifiée : 1. Soit en HTML : https://helpx.adobe.com/fr/acrobat/kb/link-html-pdf-page-acrobat.htm [Edit] Pour cette méthode Acrobat reader ne reconnaît pas le suffixe #page=... donc seul solution, passé par une URL. Test simple : Ouvrir le pdf en glissé/déposer dans mon navigateur Google Chrome Copier son adresse du type : file:///C:/Users/xxx/xxx/xxx/Nom_du_PDF.pdf et ajouter #page=3 Lancer l'URL : file:///C:/Users/xxx/xxx/xxx/Nom_du_PDF.pdf#page=3 dans le navigateur cela ouvre bien le pdf à la bonne page Par lisp j'ai trouvé une astuce sur internet qui est de forcer l'ouverture du PDF avec Google Chrome dans un fichier .cmd de cette façon: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" "file:\\\C:\\Users\\xxx\\xxxx\\xxxx\\xxx\\Nom_du_PDF.pdf#page=2" Et de créer son hyperlien en ciblant le fichier pdf.cmd (seturl (car (entsel)) "C:\\user\\XXX\\XXX\\XXX\\XXX\\Pdf.cmd" ) Il n'est probablement pas judicieux de s'appuyer sur cette méthode pour le partage de documents, et je ne visualise pas comment utiliser cette méthode dans mon cas de PDF multi-feuille actuellement. -
Lier mes Folios a mon sommaire dans un PDF
Flobott a répondu à un(e) sujet de Flobott dans AutoCAD 2020-2024
Merci pour le partage Olivier, c'est bien pratique pour faire des hyperliens en répétition vers DWG ou PDF. J'ai testé ta méthode avec succès, cela fonctionne en ciblant des PDF déjà fait. Dans mon cas j'ai un PDF Multi-feuilles, donc pour réussir à faire ma manipulation en m'inspirant de ta procédure ; je dois trouvé comment cibler la page PDF dans le PDF Multi-feuilles avec mon hyperlien. Et rajouté mon sommaire en PDF avec les hyperliens dans le PDF Multi-feuilles avec PDFsam Basic par exemple. Pas sûr que je puisse cibler une page PDF, j'ai constaté que quand AutoCAD cible une vue objet/présentation en hyperlien il ajoute "#" et parfois "," dans le chemin d'accès. Je continue à creuser !
