pat06
Membres-
Compteur de contenus
27 -
Inscription
-
Dernière visite
Type de contenu
Profils
Forums
Calendrier
Blogs
Tout ce qui a été posté par pat06
-
modifications des dwg depuis répertoire
pat06 a répondu à un(e) sujet de pat06 dans ObjectARX/DBX, C++, .NET, RealDWG
bonsoir Gile, Effectivement il fallait mettre True dans l'instruction. la database est certainement complétée avec autocad architecture par rapport à la database utilisée dans autocad. D'ou le fait de l'erreur sur des fichiers issus d'autocad sans cette base "étendue". merci beaucoup. -
modifications des dwg depuis répertoire
pat06 a répondu à un(e) sujet de pat06 dans ObjectARX/DBX, C++, .NET, RealDWG
Bonsoir, En fait, bazoul ce n'est pas exactement "db.Insunits = UnitsValue.Centimeters" qui me sert sur ce point. j'ai une tonne de fichiers dwg (12 000) dans le cadre de DOE fournis dans de mauvaises unités. Mais paradoxalement ces fichiers ont été travaillé à la bonne unité (centimètre) mais quand ont les ouvre, ils sont dans des unités "autres" millimètres - pouces - mètres... j'utilise déjà les variables comme "db.Measurement = MeasurementValue.Metric" pour passer en unité métrique et non en anglo-saxon. par contre, le besoin est de préciser également les plans au cm (commande -dwgunits) et là ça coince car cette variable autocad architecture ne semble pas fonctionner de la même manière. sauf en lançant la commande créé en direct. mais compte tenu du nombre de fichiers, mon objectif est de faire un traitement par la "db" de ces fichiers... pour en revenir à l'erreur... j'ai essayé de mettre des points d'arrêt en mode débug mais cela n'a rien donné je vais donc essayer la piste des messages dans les catch merci -
modifications des dwg depuis répertoire
pat06 a répondu à un(e) sujet de pat06 dans ObjectARX/DBX, C++, .NET, RealDWG
Bonjour, la commande "directe" avec le fichier en cours fonctionne parfaitement bien : les unités sont recalées au cm... par contre lorsque je lance l'équivalent sur un répertoire il ne se passe rien. il semble que ça bloque à ce niveau : -> Dim dsv As DrawingSetupVariables = tr.GetObject(objID, OpenMode.ForWrite) en supprimant try ... ça m'éjecte d'autocad... merci -
modifications des dwg depuis répertoire
pat06 a posté un sujet dans ObjectARX/DBX, C++, .NET, RealDWG
Bonjour, je souhaite appliquer une commande développée en vb net pour un ensemble de fichiers dans un répertoire , mais il semble que cela ne soit pas si simple... si quelqu'un pouvait m'aiguiller... le but de cette commande est de forcer les unités des dwg au centimètre. j'utilise aecbaseMgd.dll dans ce projet. 'commande sur le fichier courant : <CommandMethod("CH_CENTIMETRES")> _ Public Sub CH_CENTIMETRES() Dim dwg As Document = Application.DocumentManager.MdiActiveDocument Dim db As Database = dwg.Database Using tr As Transaction = db.TransactionManager.StartTransaction Dim objID As ObjectId = DrawingSetupVariables.GetInstance(db, False) Dim dsv As DrawingSetupVariables = tr.GetObject(objID, OpenMode.ForWrite) Dim unite As String = dsv.LinearUnit.ToString dsv.LinearUnit = Autodesk.Aec.BuiltInUnit.Centimeter Dim echelle As String = dsv.DwgScale.ToString tr.Commit() End Using End Sub ' commande portée pour traitement sur répertoire : Private Sub Button_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button.Click Dim dir As String = "C:\plans" For Each fichier As String In System.IO.Directory.GetFiles(dir, "*.dwg", SearchOption.AllDirectories) Using db As Database = New Database(False, True) Try db.ReadDwgFile(fichier, FileShare.ReadWrite, True, vbNullString) Using tr As Transaction = db.TransactionManager.StartTransaction Dim objID As ObjectId = DrawingSetupVariables.GetInstance(db, False) Dim dsv As DrawingSetupVariables = tr.GetObject(objID, OpenMode.ForWrite) Dim unite As String = dsv.LinearUnit.ToString dsv.LinearUnit = Autodesk.Aec.BuiltInUnit.Centimeter Dim echelle As String = dsv.DwgScale.ToString tr.Commit() End Using db.SaveAs(fichier, DwgVersion.Current) Catch ex As Exception End Try End Using Next MsgBox("Traitement terminé") End Sub Merci d'avance -
comment faut-il indiquer que ce sujet est résolu ? merci
-
Un grand merci... finalement j'ai remplacé le code d'appel à la form par "dlg.ShowDialog()" et tout fonctionne parfaitement ... voici le code modifié dans la class : <CommandMethod("CHARTE")> _ Public Sub CHARTE() Dim ed As Editor = Application. _ DocumentManager. _ MdiActiveDocument. _ Editor Using dlg As New EXPLO() dlg.ShowDialog() End Using End Sub
-
voici le code utilisé dans le fichier class : Imports System.IO Imports Autodesk.AutoCAD.ApplicationServices Imports Autodesk.AutoCAD.DatabaseServices Imports Autodesk.AutoCAD.Runtime Imports Autodesk.AutoCAD.EditorInput Public Class Class1 <CommandMethod("CHARTE")> _ Public Sub CHARTE() Dim ed As Editor = Application. _ DocumentManager. _ MdiActiveDocument. _ Editor Using dlg As New EXPLO() Application.ShowModalDialog(dlg) End Using End Sub End Class Effectivement ShowModalDialog fait référence à un affichage modal... mais par quoi le remplacer ? le but étant d'ouvrir "EXPLO" lors de l'appel à la commande "charte" EXPLO étant mon fichier Form du projet. merci
-
Bonjour Bazoul, j'ai changé le code proposé par : Dim strFileName As String = IO.Path.Combine(DirListBox1.Path, FileListBox1.Text) et j'ai le même message d'erreur : Consultez la fin de ce message pour plus de détails sur l'appel du débogage juste-à-temps (JIT) à la place de cette boîte de dialogue. ************** Texte de l'exception ************** System.Runtime.InteropServices.COMException (0x802000C8): Contexte d'exécution incorrect à System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) à Autodesk.AutoCAD.ApplicationServices.DocumentCollection.Open(String fileName, Boolean forReadOnly, String password) à test1_plugin_autocad.EXPLO.ButtonAutoCAD_Click(Object sender, EventArgs e) dans C:\_VB NET\CHARTE GRAPHIQUE 2012\plugin autocad\EXPLO.vb:ligne 95 à System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent) à System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) à System.Windows.Forms.Control.WndProc(Message& m) à System.Windows.Forms.ButtonBase.WndProc(Message& m) à System.Windows.Forms.Button.WndProc(Message& m) à System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) j'utilise une windowsForm pour sélectionner le fichier dwg par "décodage". Ce traitement est nécessaire car les fichiers dwg sont codés (dans leur nom) suivant une charte graphique. merci
-
Bonjour, merci pour ta réponse (si rapide) c'est effectivement pour ouvrir le fichier dans l'éditeur. j'ai du mal à appliquer la méthode proposée : mon projet VB est constitué d'un fichier de class dans lequel j'ai défini une commande permettant d'ouvrir une boite de dialogue dans laquelle le sélection le fichier dwg à ouvrir. dans lequel j'ai inséré le code : Dim strFileName As String = DirListBox1.Path & "\" & FileListBox1.Text Dim acDocMgr As DocumentCollection = Application.DocumentManager If (File.Exists(strFileName)) Then acDocMgr.Open(strFileName, False) Else acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " & strFileName & _ " does not exist.") End If lors de l'exécution, j'ai un message d'erreur... par contre, en insérant le code suivant dans le fichier class ; il ouvre bien le fichier désigné lors de la commande OpenD : Public Sub OpenD() Dim strFileName As String = "C:\TEST\TEST.dwg" ' Dim strFileName As String = EXPLO.ControlCollection.Equals() Dim acDocMgr As DocumentCollection = Application.DocumentManager If (File.Exists(strFileName)) Then acDocMgr.Open(strFileName, False) Else acDocMgr.MdiActiveDocument.Editor.WriteMessage("File " & strFileName & _ " does not exist.") End If si tu as une idée ? merci d'avance
-
Bonjour, j'aurais besoin d'un p'tit coup de main... j'ai créer un .dll sous VB.NET 2010 ce programme en lancé sous autocad via "netload" et doit permettre d'ouvrir un fichier dwg sélectionné. il me manque juste la méthode permettant d'ouvrir ledit fichier... si quelqu'un pouvait m'aider ? merci d'avance
-
HP designjet 500 plus non detectée avec HP Instant Printing Utility 3.5
pat06 a répondu à un sujet dans Périphériques de sortie, impression
Bonsoir, j'avais également ce pb, corrigé en gérant la mémoire par le PC et non par le périphérique... (dans le paramètres avancés). la mise à jour du firmware a apporté d'autres plantages par contre. Du coup on a ajouté une carte mémoire dans le traceur et depuis plus de pb. Amicalement -
Bonsoir, Il n'y a pas de manip à proprement parler.... j'utilise une fonction de création de fichiers dans dxconvert des calques sélectionnés... de ce fait on obtient un fichier avec par exemple un calque "exporté" Par contre, avec AutoCAD 2011, tu as une commande : SELECTSIMILAR qui te permet de sélectionner par exemple tous les mêmes blocs et donc éventuellement de les mettre sur le même calque en une seule commande (avec les propriétés). nota : j'utilise en fait cette fonction avec autocad architecture depuis pas mal de version (2008 je pense) je ne sais pas à partir de quelle version d'autocad elle est dispo... sinon, pour les fichiers avec de multiples objets et plein de calques, j'utilise plantracer pour autocad qui recrée des blocs par reconnaissance. et cela sur les bons calques... Amicalement [Edité le 9/12/2010 par pat06]
-
Bonjour, j'utilise couramment dxconvert... Il ne permet pas malheureusement de vérifier si les objets sont dans les bons calques. par contre il a tout un tas d'autres outils très intéressants notamment au niveau des blocs (miroités, forçage de calques, respect de normes de calques, diagnostics sur l'état du dwg, traitements en séries,etc...) Amicalement
-
Bonjour, tu parles de quels types d'objets 3D ? si ce sont les objets MEP : tu fais un clic droit : "modifier la pièce à vues multiples" celà te permet de changer certains paramètres suivant l'objet que tu as inséré... sinon ; pour éviter de "bloquer" il y a des tutos sur le site d'autodesk (rubrique support) crdlt
-
Bonjour, et merci beaucoup pour ton lisp.. tout à fait ce qu'il me fallait. Bien amicalement.
-
Bonsoir, En fait, j'ai des blocs sans attributs, ainsi que des textes qui désignent des adresses pour ces blocs (des renseignements techniques). ces textes sont posés à côté des blocs. j'ai édité les blocs en y ajoutant un attribut dans lequel je dois mettre le texte "technique". un simple copier-coller serait suffisant pour quelques blocs... mais j'en ai des quantités trop importantes...
-
Bonjour, Je ne sais pas si ce sujet a déjà été traité ; je n'ai pas trouvé mon bonheur.... je recherche une fonction qui pourrait "copier" un texte" dans un attribut de bloc ; ces deux objets étant dans le même dessin. (Je dois renouveler cette opération par centaines par fichier). merci d'avance [Edité le 21/11/2010 par pat06]
-
Bonjour, Je suis passé depuis peu d'autocad AA à Mep... petit problème, je suis en cours de saisie de réseaux schématiques en 3D et je voudrais que les annotations de canalisations soient "dans" la ligne quel que soit la vue. actuellement, c'est seulement en vue en plan que cela se passe normalement. Est-ce un paramétrage, ou faut-il personnaliser ses étiquettes voire ses propres lignes de plomberie ? merci d'avance.
-
Bonjour, Je suis passé depuis peu d'autocad AA à Mep... petit problème, je suis en cours de saisie de réseaux schématiques en 3D et je voudrais que les annotations de canalisations soient "dans" la ligne quel que soit la vue. actuellement, c'est seulement en vue en plan que cela se passe normalement. Est-ce un paramétrage, ou faut-il personnaliser ses étiquettes voire ses propres lignes de plomberie ? merci d'avance.
-
Bonjour, si cela peut t'aider, j'utilise souvent le site http://www.logmein.com pour la prise de main à distance sur des PC éloignés... c'est rapide et facile d'accès. tu as juste besoin d'une adresse mail pour t'inscrire. je l'utilise depuis 5 ans (version free) RAS. Bien cordialement
-
Bonjour, avant lancement de MEP, mémoire utilisée :1.6Go après lancement : 1.8Go après ouverture de 2 fichiers (chacun 4 Mo) : 2Go. Perso je tourne sous W7 32 à la maison (objet des tests ici) au bureau toujours sous W7 mais en 64 bits avec 42 mo de Ram : très stable.... et pas de pb de mémoire. pour ta collègue, le problème ne doit pas forcément venir seulement de MEP... virus ? pb d'install ?
-
Bonsoir, j'ai eu le même pb... après avoir essayé pas mal de solutions de convertisseurs, plt to dwg (ou autres), ont a finalement intégré un visualisateur de plt à notre armoire à plan. Si tu veux, envois moi ton fichier, je pourrais peut-être te le transformer en pdf... Bien cordialement Patrick[Edité le 11/11/2010 par pat06][Edité le 12/11/2010 par pat06] [Edité le 12/11/2010 par pat06]
-
Bonjour et merci pour ces réponses, je vais essayer. bien amicalement
-
Ok, Par contre, je n'utilise pas directement de scripte pour traiter mes listes de fichiers ; je m'explique : j'ai un programme qui tourne sous autocad qui est capable de lancer des scriptes, faire des traitements divers, etc... En fait, c'est ce soft qui ouvre chaque fichier en mode exclusif, fait le traitement voulu, l'enregistre, le ferme et passe au suivant de la liste (chargée à partir d'un fichier txt contenant les chemins et les noms des dwg).. D'où mon pb car il n'a pas de commande intégrée pour vérifier ou "recover" les fichiers avant ouverture. merci d'avance Amicalement [Edité le 10/11/2010 par pat06]
-
Merci pour ta réponse ; En fait ça pourrait être une bonne solution, mais dans ce cas, tous les fichiers seraient alors "récupérés"... même les bons. Y aurait-il plutôt une commande permettant de "scanner" mes répertoires de fichiers pour analyser ceux qui sont à récupérer ?
