Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 12/21/2019 in all areas

  1. This is a legacy Vibrant Graphics driver for R13. Copy it to your DRV folder (which for you is probably C:\ACADR13\DRV). After doing this, a new option should appear in the video selections. The first time you choose it, the driver will complain about not having a config (CFG) file, but carry on and use the default setting which is 640x480 VGA. If the future you can go back into the config and choose a more specific setting within this driver (based on your graphics card) and run at very high resolutions. DL153100.RES
    1 point
  2. For the error I think you should look at the IPN 250 profile in OP's 2nd image. The flanges have an incorrect 'bulge'.
    1 point
  3. Hi AMIR, first of all, I guess you have to find the select object coordinates for example: Dim MyObject As AcadEntity Dim MyCoord() As Double Dim MyX As Double Dim MyY As Double Dim MyZ As Double Dim ss As AcadSelectionSet Dim FilterType(0) As Integer Dim FilterData(0) As Variant FilterType(0) = 0 FilterData(0) = "TEXT,MTEXT" Set ss = ThisDrawing.SelectionSets.Add("MySS") ss.SelectOnScreen FilterType, FilterData For Each MyObject In ss MyCoord = MyObject.InsertionPoint MyX = MyCoord(0) MyY = MyCoord(1) MyZ = MyCoord(2) Next ss.Delete Best Solution could be put in three different arrays and sort by single array, later you can move object inside drawing based upon sorted coordinates. Dim MyX() As Double Dim MyY() As Double Dim MyZ() As Double Dim A As integer .... 'For Each MyObject In ss ' MyCoord = MyObject.InsertionPoint ' MyX = MyCoord(0) ' MyY = MyCoord(1) ' MyZ = MyCoord(2) 'Next A = 1 ReDim MyX(ss.Count) ' Array first Dimension was uncounted Dim MyX() As Double ReDim MyY(ss.Count) ' Array first Dimension was uncounted Dim MyY() As Double ReDim MyZ(ss.Count) ' Array first Dimension was uncounted Dim MyZ() As Double For Each MyObject In ss MyCoord = MyObject.InsertionPoint MyX(A) = MyCoord(0) MyY(A) = MyCoord(1) MyZ(A) = MyCoord(2) A = A + 1 Next ss.Delete iFirstRow = LBound(MyY) iLastRow = UBound(MyY) For i = iFirstRow To iLastRow - 1 For j = i + 1 To iLastRow If MyY(i) > MyY(j) Then varTemp = MyY(j) MyY(j) = MyY(i) MyY(i) = varTemp End If Next j Next i So now you have Y coordinates ordered by lower to higher.
    1 point
  4. Its called Pline As per our private mail the road cl will need to be a pline, so curves are supported. There are 3 separate options for a tee so I am looking at these 3, hopefully will work with any number of road intersections as a cross road will not have a "passing". Still working on it other stuff got in the way.
    1 point
  5. Try this (defun c:test ( / xss2 i obj ent lst) (setq xss2 (ssget '((0 . "INSERT") ))) (if xss2 (repeat (setq i (sslength xss2)) (setq obj (tblobjname "BLOCK" (cdr (assoc 2 (entget (setq ent (ssname xss2 (setq i (1- i))))))))) (while (setq obj (entnext obj)) (setq lst (entget obj)) (if (cdr (assoc 62 lst)) (entmod (subst (cons 62 1) (assoc 62 lst) lst)) (entmod (append lst '((62 . 1))))) ) (entupd ent) ) ) ) I'll leave the integration up to you You do know you are changing the block DEFINITION here?
    1 point
  6. Or perhaps: (defun c:test ( / c ) (if (setq c (acad_colordlg 1)) (modifyselection c)) (princ) )
    1 point
×
×
  • Create New...