Aller au contenu

CAO, généralités

Tout ce qui traite de CAO mais qui ne peut pas être classé dans les autres forums


1 070 sujets dans ce forum

    • 0 réponse
    • 147 vues
    • 0 réponse
    • 314 vues
    • 0 réponse
    • 105 vues
    • 2 réponses
    • 197 vues
    • 0 réponse
    • 291 vues
    • 0 réponse
    • 187 vues
    • 0 réponse
    • 199 vues
    • 0 réponse
    • 202 vues
    • 0 réponse
    • 302 vues
    • 0 réponse
    • 244 vues
    • 9 réponses
    • 610 vues
    • 0 réponse
    • 339 vues
    • 0 réponse
    • 248 vues
    • 0 réponse
    • 294 vues
    • 0 réponse
    • 425 vues
    • 0 réponse
    • 304 vues
    • 0 réponse
    • 373 vues
  1. Ferraillage BIM

    • 2 réponses
    • 590 vues
    • 0 réponse
    • 366 vues
    • 0 réponse
    • 356 vues
    • 0 réponse
    • 332 vues
    • 0 réponse
    • 299 vues
    • 0 réponse
    • 403 vues
    • 0 réponse
    • 400 vues
    • 3 réponses
    • 616 vues


  • Statistiques des forums

    • Total des sujets
      48,6 k
    • Total des messages
      294,8 k
  • Sujets

  • Messages

    • Invité Briansip
      https://www.ibm.com
    • Bonjour Tu ne peux pas modifier ça avec un lisp : tu peux modifier uniquement les variables système Autocad avec un lisp, mais Covadis gère sa config dans des fichiers externes. Quel serait le but de ce que tu veux faire ?
    • Bonjour à tous, j'aimerai modifier les options de Covadis (dernier onglet dans les options AutoCAD) avec un Lisp. Existe-t-il une liste de variables ou de commandes VLisp pour faire ces modifications ? Merci  
    • Bonjour, en utilisant Increment de Gilles et AttAdd.vlx trouver chez Cadstudio, j'arrive à faire le job.   Bonne journée. AttAdd.VLX
    • Si on veut éviter d'appeler les commandes natives, on accède au SCU courant par la propriété CurrentCoordinateSystem de la classe Editor. Le type de cette propriété est Matrix3d. Mais généralement en programmation on utilise peu les commandes natives donc on ne s'intéresse au SCU que pour transformer les points récupérés par ou passés aux méthodes Editor.Getxxx. (command "_UCS" "_WORLD") var ed = Application.DocumentManager.MdiActiveDocument.Editor; ed.CurrentUserCoordinateSystem = Matrix3d.Identity; (command "_UCS" "_3P" point1 point2 "") , ici il faut construire la matrice. var ed = Application.DocumentManager.MdiActiveDocument.Editor; var xAxis = point1.GetVectorTo(point2).GetNormal(); var yAxis = Vector3d.ZAxis.CrossProduct(xAxis).GetNormal(); var ucsMatrix = Matrix3d.AlignCoordinateSystem( Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis, Vector3d.ZAxis, point1, xAxis, yAxis, Vector3d.ZAxis); ed.CurrentUserCoordinateSystem = ucsMatrix; Les systèmes de coordonnées nommés sont enregistrés dans la "table des SCUs" : UcsTable. (command "_UCS" "_R" nomscu) var ed = Application.DocumentManager.MdiActiveDocument.Editor; var db = HostApplicationServices.WorkingDatabase; using (var tr = db.TransactionManager.StartTransaction()) { var ucsTable = (UcsTable)tr.GetObject(db.UcsTableId, OpenMode.ForRead); if (ucsTable.Has(nomscu)) { var ucs = (UcsTableRecord)tr.GetObject(ucsTable[nomscu], OpenMode.ForRead); ed.CurrentUserCoordinateSystem = Matrix3d.AlignCoordinateSystem( Point3d.Origin, Vector3d.XAxis, Vector3d.YAxis, Vector3d.ZAxis, ucs.Origin, ucs.XAxis, ucs.YAxis, ucs.XAxis.CrossProduct(ucs.YAxis).GetNormal()); } tr.Commit(); } (command "_UCS" "_X" -100.00) , en admettant que -100.00 correspond bien à - 100 grades, soit 1.5 * PI radians. var ed = Application.DocumentManager.MdiActiveDocument.Editor; var ucsMat = ed.CurrentUserCoordinateSystem; var ucs = ucsMat.CoordinateSystem3d; ed.CurrentUserCoordinateSystem = Matrix3d.Rotation(Math.PI * 1.5, ucs.Xaxis, ucs.Origin) * ucsMat;   Pour les vues, on utilise des instances de la classe ViewTableRecord telle que renvoyées par la méthode Editor.GetCurrentView ou passées à la méthode Editor.SetCurrentView. (command "_PLAN" "") var ed = Application.DocumentManager.MdiActiveDocument.Editor; var ucs = ed.CurrentUserCoordinateSystem.CoordinateSystem3d; using (var view = ed.GetCurrentView()) { var dcsToWcs = Matrix3d.Rotation(-view.ViewTwist, view.ViewDirection, view.Target) * Matrix3d.Displacement(view.Target.GetAsVector()) * Matrix3d.PlaneToWorld(view.ViewDirection); var centerPoint = new Point3d(view.CenterPoint.X, view.CenterPoint.Y, 0.0) .TransformBy(dcsToWcs); view.ViewDirection = ucs.Zaxis; view.ViewTwist = ucs.Xaxis.GetAngleTo(Vector3d.XAxis, ucs.Zaxis); var wcsToDcs = Matrix3d.WorldToPlane(view.ViewDirection) * Matrix3d.Displacement(view.Target.GetAsVector().Negate()) * Matrix3d.Rotation(view.ViewTwist, view.ViewDirection, view.Target); centerPoint = centerPoint.TransformBy(wcsToDcs); view.CenterPoint = new Point2d(centerPoint.X, centerPoint.Y); ed.SetCurrentView(view); }   (command "_DVIEW" "" "_PO" ptTarget ptCamera "_CL" "_B" (* -1 sectionHalfDepth) "_CL" "_F" sectionHalfDepth "") var ed = Application.DocumentManager.MdiActiveDocument.Editor; using (var view = ed.GetCurrentView()) { view.Target = ptTarget; view.ViewDirection = ptTarget.GetVectorTo(ptCamera); view.BackClipDistance = -sectionHalfDepth; view.BackClipEnabled = true; view.FrontClipDistance = sectionHalfDepth; view.FrontClipEnabled = true; view.FrontClipAtEye = false; var wcsToDcs = Matrix3d.WorldToPlane(view.ViewDirection) * Matrix3d.Displacement(view.Target.GetAsVector().Negate()) * Matrix3d.Rotation(view.ViewTwist, view.ViewDirection, view.Target); var centerPoint = ptTarget.TransformBy(wcsToDcs); view.CenterPoint = new Point2d(centerPoint.X, centerPoint.Y); ed.SetCurrentView(view); }  
  • Sujets

×
×
  • 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é