-
Compteur de contenus
775 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par winfield
-
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
"est ce qu'on peut pas avoir une instruction qui prend la fiche est vérifié si il est = égale au standard des formats (A0-A1-A2-A3-A4) et si jamais elle trouve qu'il sort du standard il le sort automatiquement en format A4 quelque soit ça forme ??" Je pense que c'est faisable, bien que je me demande encore l'interêt de tout ça. Imprimer 1 ou 100 fois le même bloc, puisqu'on peut demander le nombre de copie....à moins bien sûr que ce ne soit des blocs avec... Mais excuse moi de ne pas me pencher sur la question tout de suite, en ce moment, je n'ai malheureusement pas beaucoup de temps libre. Regarde les structures de décision et les fonctions (je pense que je jouerai avec une fonction, surtout si tu as plusieurs "projet" nécessitant ce genre d'information, mais bon...ce n'est que mon avis). Continu de lire du code et de tenter de le comprendre, même si tu as l'impression que c'est réservé à une élite. La notion d'élite est très subjective... -
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
"c'est juste que je suis débutante en programmation" En tant que débutant je te souhaite la bienvenue chez : les débutants. Que veux-tu dire par "il m'imprime tous les blocs mais vide" .........je suis largué. "intType(0) = 0: varData(0) = "INSERT" intType(1) = 2: varData(1) = strNomDuBloc" Tu passes par les codes DXF mais...c'est quoi "INSERT" ???? Je connais pô Sans parler de INSERT ,tu passes par les codes DXF pour faire une sélection et tu compares les noms des blocs pour identifier à nouveau si c'est le bon bloc ou pas ?!! ...Tu fais 2 fois le boulot. (je suis étonné que personne de plus compétent de moi ne se soit manifesté....) -
Réponse à Doua et question à Patrick
winfield a répondu à un(e) sujet de winfield dans CADxp, comment ça marche?
Désolé Patrick, je vois pas où j'ai pus faire une bêtise. Les BBcodes, je me doutais bien que ça avait a voir avec mon problème, me rappellant avoir lu un sujet là dessus, je les ai virés........j'ai dû certainement en oublier. Désolé. ..........Les BBcodes, je tapes jamais le code... juste en cliquant dessus. Il n'y a que pour les smileys que je tapes parfois le code et encore Mais je suis vraiment désolé d'avoir mis le bazar et de t'avoir obligé à ranger :( -
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Voir http:// http://www.cadxp.com/sujetXForum-8722.htm http://www.cadxp.com/sujetXForum-8723.htm -
Bonsoir, CadXP est-il limté aux nombres de lignes ou poid à un sujet ? J'ai une réponse longue, alors ça m'a fait un truc bizarre http://winfield.over-blog.com/
-
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Ma réponse doit vraiment être longue, mais longue.....n'ayons pas peur des mots, ça merdoi carrément là au niveau de l'affichage :mad: parceque j'ai inserer une fiche format A3 il l'a pas imprimer !!* Tu veux dire une feuille ? Si c'est ça c'est bizarre, à moins qu'effectivement tu sois avec une version antérieure à 2004........ GetBoudingBox ! pour exemple, on va parler d'objet graphique. Tu sais qu'un triangle peut-être inscrit ou circonscrit à un cercle. Bé là c'est la même chose sauf que c'est un rectangle à la place du cercle. Chaque objet entre dans une boite (rectangulaire). Et sous AutoCAD, quand tu dessines un rectangle avec l'outil rectangle, que fais-tu ? Tu ne donnes que 2 points qui représentent les limites...essaye de transcrire ça sur un tableau (les matrices)....c'est idem Voilà, j'ai étalé ma science.........Mais si qqn trouve que j'ai dit des bêtises, je lui serai gré de bien vouloir le(s) signaler, je continurais à apprendre. Merci -
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Tout à fait, c'est vrai que j'ai pas pensé mais pas du tout à ça :mad: . Pour compenser tu peux paramétrer l'impression de chaque onglet, virer des trucs du genre puisque ce sera paramétré :casstet: ....mais bon, ça montre que j'ai pas pensé à tout :( .parceque j'ai inserer une fiche format A3 il l'a pas imprimer !!* -
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Bon apparemment ma réponse va être trop longue, alors je la coupe en deux............bavard ?? Moi ???? ;) Avec quel version autocad travailles-tu ? Si c'est antérieur à 2004 (sûr), ça peut pas marcher; pour 2004, je ne sais pas....peut pas le tester. BackGroundPlot est une variable. Comme je te l'ai dit, je suis loin d'être un expert, je n'ai pas compris à quel niveau ça "joue" exactement mais c'est ce que j'ai trouvé pour résoudre le problème. L'erreur 13, c'est si par exemple, t'as l'inputBox d'afficher et au lieu de rentrer une valeur, tu fais échappe ou Annuler...comme ça attend une valeur et qu'il n'y en a pas.....ça génère une erreur, qui est l'erreur n°13 (svp ne me demande pas plus de précision....j'ai l'impression de me retrouver à l'école à une interro surprise :o ;) ) sysVaName = caractère==> ici le nom de la variable VarDataOrigine et VarData Temp = c'est du pareil au même ==> une valeur ( valeur de la variable BackGroundPlot ), on lis la valeur au début, on la change (ou confirme) pour ne pas avoir de surprise,on fait le travaille et on remet la valeur de départ....je trouvais que ça faisait plus pro...on met le bazar, bé faut ranger après ;) . -
http://www.aucoeurdessonges.org/lesmysteresdelinformatique.htm
-
Bonsoir Gile Chez moi c'est idem ...........et pourtant j'avais mis une belle Co... en guise de réponse .. dommage :(
-
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Cette fois je crois que c'est bon, le problème venait de la variable BackGroundPlot. Voilà ce que ça donne : Sub Imprimer() Dim ObjEntite As AcadEntity Dim StrNomBloc As String Dim ObjOnglets As AcadLayouts Dim StrNomOnglet As String Dim PtBas As Variant Dim PtHaut As Variant Dim StrImprimante As Variant Dim StrNomLayout As String Dim IntI As Integer Dim StrListe As String Dim Q As Integer Dim CompteurBloc As Integer Dim sysVarName As String Dim VarDataOrigine As Variant Dim VarDataTemp As Variant StrListe = "N° onglet à imprimer:" & Chr(13) StrNomBloc = "MonBloc" StrImprimante = "DWF6 ePlot.pc3" 'StrImprimante = "HP DeskJet 1125C.pc3" CompteurBloc = 0 sysVarName = "BACKGROUNDPLOT" 'Lecture de la valeur de BackGroundPlot VarDataOrigine = ThisDrawing.GetVariable(sysVarName) VarDataTemp = 0 'Pour avoir le choix de l'onglet à imprimer 'on retourne le n° de l'onglet Set ObjOnglets = ThisDrawing.Layouts For IntI = 0 To ObjOnglets.Count - 1 Set ObjOnglet = ObjOnglets(IntI) StrListe = StrListe & vbCrLf & "<" & IntI & "> " & ObjOnglet.Name Next On Error Resume Next Q = InputBox(StrListe) 'vérification de l'existance de l'onglet choisit If Q > IntI - 1 Then MsgBox "Cet onglet n'existe pas" Exit Sub End If 'si aucun onglet choisit If Err = 13 Then Err.Clear Exit Sub End If 'On active l'onglet choisit ThisDrawing.ActiveLayout = ObjOnglets(Q) 'Changement de valeur de BackGroundPlot à zéro ThisDrawing.SetVariable sysVarName, VarDataTemp 'On recherche tous les blocs dans l'onglet choisit 'si on en trouve, on récupère l'emprise rectangulaire du bloc pour 'indiquer la zone à imprimer For Each ObjEntite In ThisDrawing.PaperSpace If ObjEntite.ObjectName = "AcDbBlockReference" Then If ObjEntite.Name = StrNomBloc Then CompteurBloc = CompteurBloc + 1 ObjEntite.GetBoundingBox PtBas, PtHaut ReDim Preserve PtBas(0 To 1) ReDim Preserve PtHaut(0 To 1) ThisDrawing.ActiveLayout.SetWindowToPlot PtBas, PtHaut 'echelle d'impression (n'est pas celle de l'objet fenêtre ThisDrawing.Layouts(Q).SetCustomScale 1, 1 'On centre le tracé ThisDrawing.ActiveLayout.CenterPlot = True ThisDrawing.ActiveLayout.PlotType = acWindow 'on lance l'impression ThisDrawing.Plot.PlotToDevice StrImprimante End If End If Next If CompteurBloc = 0 Then MsgBox "Il n'y a pas de bloc " & StrNomBloc & " dans cette onglet." End If 'on remet la valeur de départ à BackGroundPlot ThisDrawing.SetVariable sysVarName, VarDataOrigine End Sub Si vous avez des remarques ou suggestions, je suis tout yeux -
c'est pas top mais bon.. (faut vraiment que je prenne le temp de voir comment inséré les img sur CadXP :P http://winfield.mabulle.com/
-
Bonsoir, Je vais sûrement passer pour un fou ou je ne sais quoi, mais, lorsque je me déconnecte de CadXP, à l'étape où l'écran devient sombre, mais sombre... et qu'il y a le message du genre "Vous êtes déconnecté", j'ai un chmilbik en haut à gauche de mon écran, qui ressemble au haut d'un bonhomme (genre ceux du jeu de légo). Qqn sait ce que c'est ? (Navigateur : FireFox 1.5.0.1)
-
heu...............ils font pas l'allume cigare en usb ? :(
-
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Salut, Je vais essayer de t'aider, mais je suis loin d'être un expert, alors si je dis des bêtises,je vous demande de m'arrêter ( juste m'arrêter, pas me mettre en prison) :p ............................................................................................................. Non pas du tout, comme Chrisfs te l'a dit, For Each............ sert à chercher. Dans ton code, tu cherches une définition de bloc dans la base de données d'autocad, mais de ce fichier seulement. La définition du bloc peut exister dans la base, mais inexistant dans le dessin.....s'il est inséré, voir où il est inséré. Est-il inséré dans l'espace objet ? ou dans une présentation ? Il faut faire attention avec For Each.. car l'objet que tu recherches doit être déclaré en tant que AcadEntity (à moins que la recherche soit faite dans la base d'acad ou dans une sélection qui a déjà été filtré). Ici, la routine va te donner tous les noms des blocs existant du fichier). ............ Dim ObjBloc As AcadBlock For Each ObjBloc In ThisDrawing.Blocks MsgBox ObjBloc.Name Next ............ Ici, la routine va te donner tous les noms des blocs inséré dans l'espace objet), mais ObjBloc est déclaré en tant que AcadEntity, car pendant la recherche, il peut tomber sur tout et n'importe quoi. ............ Dim ObjBloc As AcadEntity For Each ObjBloc In ThisDrawing.ModelSpace If ObjBloc.ObjectName = "AcDbBlockReference" Then MsgBox ObjBloc.Name End If Next End Sub ............ En espérant avoir été clair. Maintenant, j'ai cherché comment faire, mais où je coince c'est que : la 1ère impression est lancé, la 2ème se lance mais renvoi une erreur (action déjà occupé), et en plus l'impression est lente. Enfin, voilà ce que j'ai fais. Sub Imprimer() Dim ObjEntite As AcadEntity Dim StrNomBloc As String Dim ObjOnglets As AcadLayouts Dim StrNomOnglet As String Dim PtBas As Variant Dim PtHaut As Variant Dim StrImprimante As Variant Dim StrNomLayout As String Dim IntI As Integer Dim StrListe As String Dim Q As Integer 'Pour avoir le choix de l'onglet à imprimer 'on retourne le n° de l'onglet StrListe = "N° onglet à imprimer:" & Chr(13) StrNomBloc = "MonBloc" StrImprimante = "HP DeskJet 1125C.pc3" Set ObjOnglets = ThisDrawing.Layouts For IntI = 0 To ObjOnglets.Count - 1 Set ObjOnglet = ObjOnglets(IntI) StrListe = StrListe & vbCrLf & "<" & IntI & "> " & ObjOnglet.Name Next Q = InputBox(StrListe) 'On active l'onglet choisit ThisDrawing.ActiveLayout = ObjOnglets(Q) 'On recherche tous les blocs dans l'onglet choisit 'si on en trouve, on récupère l'emprise rectangulaire du bloc pour 'indiquer la zone à imprimer For Each ObjEntite In ThisDrawing.PaperSpace If ObjEntite.ObjectName = "AcDbBlockReference" Then If ObjEntite.Name = StrNomBloc Then ObjEntite.GetBoundingBox PtBas, PtHaut ReDim Preserve PtBas(0 To 1) ReDim Preserve PtHaut(0 To 1) ThisDrawing.ActiveLayout.SetWindowToPlot PtBas, PtHaut 'echelle d'impression (n'est pas celle de l'objet fenêtre ThisDrawing.Layouts(Q).SetCustomScale 1, 1 ThisDrawing.ActiveLayout.PlotType = acWindow 'on lance l'impression ThisDrawing.Plot.PlotToDevice StrImprimante End If End If Next End Sub Je me demande s'il faudrait pas créer des vues et imprimer ces vues. Qu'en pensez-vous ? -
Bonsoir, va voir ici http:// http://www.cadxp.com/sujetXForum-6942.htm
-
mon programme lui manque qlq chose
winfield a répondu à un(e) sujet de doua dans Programmer en s'amusant
Bonsoir, D'après ce que tu m'as dit dernièrement, tes blocs sont tous les un à côté des autres et lors de l'impression tu veux tout imprimer d'un coup. Pourtant ici tu essaies de faire bloc par bloc. :casstet: Je ne sais pas dans dans les autres langages, mais en VB/VBA tu ne peux pas donner à une variable un nom commençant par un chiffre. -
Je n'ai pas encore travaillé le côté traceur en vba, ça va faire l'occasion. Mais désolé, pas ces prochains jours car.............j'ai fais une boulette, je suis tombé sur un OS, j'en ai plus sur un pc :( et pas moyen d'en remettre :mad: GRRRRRRRRRRR
-
bug ? [Edité le 31/1/2006 par winfield]
-
Bonsoir, j'ai peur de ne pas tout saisir. Les blocs sont-ils les uns à coté des autres ? Tu dois imprimer tous les blocs d'un coup ? ou bloc par bloc ? Merci de m'éclairer
-
J'ai du mal à comprendre ce que c'est, pour tout dire je n'ai rien compris, il me semble juste que c'est en rapport avec les XData, mais je n'ai capté que cela. Alors si qqn veut bien me l'expliquer ...comme si j'étais un bébé .... :P
-
Citoyen Maximilien, levez-vous ! Veuillez répondre à la question (pendant la Terreur, on en a guillotiné pour moins que ça !). Je vous soupçonne de fraterniser avec les exploiteurs du Peuple. ;) Paix sur la Terre aux hommes de bonne volonté....
-
Dans mon cas, j'essaye de me dépatouiller comme je peux un handicap de plus ou de moins, on n'est pas à ça près ...je ne suis pas mécano mais je sais faire une vidange. no comment (comme quoi je parle anglais quand je veux) ça va viendre, ça va viendre.......le temps de traduire et de comprendre un peu :cool:
-
Hoooooooo merci Cricri (d'amour ?) , je savais qu'on pouvait compter sur toi ;)
-
heu.........un volontaire pour se taper le translate ? :cool:
