Jump to content

WhoCanDo

Member
  • Posts

    395
  • Joined

  • Last visited

Posts posted by WhoCanDo

  1. No luck. 'Tekla Bolt.Bolt Name' didn't work either.

     

    The record 'Tekla Bolt' does exist with the field line 'Bolt Name' but this record is not attached to the object.

     

    I'm trying to select the Bolt Name from the ifc record.

     

    Any other ideas?

  2. Some great ideas guys.

    However, we are dragging and dropping the PDF into the drawing so using a photo editor to change the line colours is extra time we don't want to accumulate.

     

    The rectangle is a great idea except if the layer that the PDF is on is higher than other layers, then it blocks out all the other layers. Also, we are using layer colours which doesn't allow the block-out to be white - it's still black.

     

    I was just wondering if VW was able to switch the black & white the same as it handles switch black & white when we change the background colour from black to white and visa-versa.

  3. Can anyone suggest an option to fix this problem.

    I have dragged and dropped a PDF file into my drawing, which works great when I use a white background setup.

    However, I use a black background preference to reduce eye strain and tiredness. It's also great for clarity and contrast.

    This is the result.

    I've tried giving the PDF a white background, but that doesn't work.

     

    image.thumb.png.f10ce5ebdd3f9840854de43ea056878f.png

  4. Moving on, now I can't locate a concaved wall within the perimeter of a polygon.

     

    For the following, create the polygon first, and then the walls. The idea being, the polygon is the first selected object.

     

    92050311_Annotation2019-09-24125023.thumb.jpg.f3d9e24becfd383adcb6c4069267efa5.jpg

     

    Pick all the objects and run this macro...

     

    procedure test;
    
    var hMKP : handle;
    
    	procedure Record_Data (h : handle);
    	begin
    	AlrtDialog (Num2Str (0, GetTypeN (h)));
    	end;
    	
    begin
    DelName ('Tmp');
    hMKP := FSActLayer;
    SetName (hMKP, 'Tmp');
    SetDSelect (hMKP);
    ForEachObject (Record_Data, (Loc = 'Tmp') & (Sel = True) & ((T = Wall) or (T = RoundWall)));
    end;
    run (test);

    The result is AlrtDialog will return 68 (straight wall), 89 (round wall) & 89 in any order.

     

    However, there are three 89's and the wall on the right is not recognised as being within the perimeter of the polygon.

     

    I would suggest that this is a bug with "Loc=" but can anyone suggest another solution to please?

     

  5. Thanks Mate,

     

    I just figured out why it's happening.

     

    I am ctrl-picking up with mouse, to duplicate and move.

     

    Weird but not so much of a problem now.

     

    We have new computers and I was worried it was the graphics card not keeping up.

     

    Regards

  6. Thanks Julian, I've tried SelectChoice among several others but it's still not working. Maybe I'm putting it in the wrong place, even though I've been moving it around during my attempts.

     

    procedure test;
    var StanDialog1 : longint; TF : boolean;
    
    procedure CreatePopUpLayout;
      begin
      StanDialog1 := CreateLayout ('Component Data', False, 'OK', 'Cancel');
      CreateStaticText (StanDialog1, 4, 'Item:', 15);
      CreatePullDownMenu (StanDialog1, 5, 10);
      
      SetFirstLayoutItem (StanDialog1, 4); SetRightItem (StanDialog1, 4, 5, 0, 0);
      end;
    
    procedure DialogHandler (var Item : longint; Data : longint);
    
        procedure InitiateDialog;
          begin
          AddChoice (StanDialog1, 5, ' ', 0);
          AddChoice (StanDialog1, 5, 'A', 1);
          AddChoice (StanDialog1, 5, 'B', 2);
    	  
          SelectChoice (StanDialog1, 5, 2, TF);
          end;
    	
        procedure GetDialogEvents;
          begin
          end;
          
    begin
    Case Item of SetupDialogC: InitiateDialog;
      1 : GetDialogEvents;
      2 : ; { Cancel }
      end; { Case }
    end;
    
    begin
    CreatePopUpLayout;
    If (RunLayoutDialogN (StanDialog1, DialogHandler, True) = 1 { OK }) then begin end;
    end;
    run (test);

     

  7. Hi,

     

    I have a CreatePullDownMenu in my Dialog Box and I have loaded it with AddChoice

     

    How do I choose to select ItemIndex 10 on the PullDownMenu ?

     

    I have been trying SelectChoice without luck.

     

    SetFocusOnItem works to focus on the ComponentID but I also want to separately set ItemIndex 10 to be the focus.

     

    Regards

  8. Does anyone else have the problem that we have on 2019 Sp4?

     

    If you draw a 2D rectangle on a layer and pick it up with the mouse and move it in a circular motion on the screen, does the rectangle lag behind your mouse more and more as you continue?

  9. In the example, where does GetItemText (StanDialog1, 5, Code); etc. happen? How do you get the events/results?

     

    I have been shown to create a sub-procedure GetDialogEvents to Dialog_Handler and use it as follows.

     

      Case Item of SetupDialogC: GetDialogEvents;
        1  : GetDialogEvents; { OK }
        2  : ; { Cancel }
        end; { Case }

  10. The old Dialog method was easier to understand, but harder to setup, than the new, so I've not completely grasped the process yet.

     

    This is how I have formatted mine, so where to you put AddChoice?

     

    1. Set up Dialog layout.

    2. Get Dialog results.

            procedure GetEvents;
              begin
              GetItemText (StanDialog1, 5, Code);

              end;

        begin

        SetupDialog;
        Case Item of SetupDialogC: GetEvents;
          1  : GetCodeDialog1Events;
          2  : ; { Cancel }
          end; { Case }
        end;

    3. Do something with the results

     

  11. Hi,

     

    Where do you put AddChoice to load CreatePullDownMenu?

     

    If I put it here, while Creating the Dialog layout, it doesn't work..
    procedure CreateDialog1Layout;
      begin
      StanDialog1 := CreateLayout ('Handrail ID', False, 'OK', 'Cancel');
      AddChoice (StanDialog1, 7, ' ', 0);
      AddChoice (StanDialog1, 7, 'R', 1);
      AddChoice (StanDialog1, 7, 'L', 2);

     

    If I put it here, after Creating the Dialog layout, it doesn't work..
    CreateDialog1Layout;
    AddChoice (StanDialog1, 7, ' ', 0);
    AddChoice (StanDialog1, 7, 'R', 1);
    AddChoice (StanDialog1, 7, 'L', 2);
    If (RunLayoutDialogN (StanDialog1, GetCodeDialog1Results, True) = 1 { OK }) then

     

    If I put it here, it duplicates the list repeatedly while picking or filling in other Edit boxes..
    procedure GetDialog1Results (var Item : longint; Data : longint);
    begin
    AddChoice (StanDialog1, 7, ' ', 0);
    AddChoice (StanDialog1, 7, 'R', 1);
    AddChoice (StanDialog1, 7, 'L', 2);
    Case Item of SetupDialogC: GetDialog1Events;

  12. Hi,

    Can we have the shortcut key name/description we used last (or better still a list of shortcuts in order) listed in the VW footer near the X: & Y: references so we can see what we did last by accident LOL.

    I sometimes touch another key when wanting a shortcut and I am not sure what it did because I am touch typing.

    eg. sometimes I hit ctrl-shift-C instead of ctrl-C and I don't know what happened because I wasn't looking at the keyboard. Then I can't find my Snapping menu.

  13. That could help if I needed to move the text from 0, 0 at a later stage ☺️

     

    But I would like to know where to move it. I would like to know where the user clicked to place the text.

     

    If the tool was set up with parameters (eg. x1 - X Coordinate, y1 - Y Coordinate), would the recordHandle record them and how do I get them out?

     

  14. Hi,

     

    I am adding data to multiple objects selected at various locations on my drawing. I would like to zoom in on each object when the user is asked for options.

     

    procedure Zoom (hZ : handle);
    var ZoomX, ZoomY : real;
    begin
    {
    SetName (hZ, 'Target');
    ZoomX := XCenterN (N = 'Target');
    ZoomY := YCenterN (N = 'Target');
    }
    DoMenuTextByName ('Fit To Objects', 0);
    SetZoom (280);
    end;

     

    This doesn't work because it Fit's to all objects before Zooming in on the center of the selection. Other ideas are within the brackets.

     

    Maybe ForEachObjectInList, but I don't know how to generate a list. I would then SetSelect (hZ) to zoom in on it.

     

    Can anyone expand on the above please?

×
×
  • Create New...