Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

GetTwoWayLayout


...

Function used to perform segment layouts (in 2 directions) at a specified span, horizontal run, as well as spacing.

...

    1. Create a New Form application
    2. Add a button to the form
    3. Add PlanSwift to reference (Planswift9_tlb in the uses)
    4. Copy code to button onclick event

API Calls

Delphi

Code Block
languagedelphi
themeRDark
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
collapsetrue
// PlanSwift Code:
var
  aItem         : string;
  bIncludeFirst : boolean;
  bIncludeLast  : boolean;
  nSpacing      : double;
  aAreaSection  : string;
begin
  // create a new "parent" area section...
  aItem := NewItem('\Job\Takeoff', 'Segment', 'Name');

  // place or ignore segment at run "start" point...
  bIncludeFirst := FALSE; // (T/F)...

  // place or ignore segment at run "end" point...
  bIncludeLast := FALSE; // (T/F)...

  // spacing (inches) used when creating segments...
  nSpacing := 24; // 12, 16, 24...

  // either create or select a area section to trim or extend to...
  aAreaSection := SelectedItem();

  // Function that lays the sticks (2 ways)...
  PlanSwift.GetTwoWayLayout(aItem, 'Select the Span Line...', 'Select the Run Line...', bIncludeFirst, bIncludeLast, nSpacing, aAreaSection);
end;


//FreshDesk Code:
procedure TForm1.psGetTwoWayLayout(Sender: TObject);
var
  ps: IPlanSwift;
  est,Area,Sect,Seg: IItem;
  psline: ILine;
  pt1,pt2: IPoint;
  S: Integer;
begin
   //Get Planswift Interface
  ps := CoPlanswift.Create;
  // Get the Takeoff Folder (Estimating Tab in Planswift);
  Est := ps.GetItem('Job\Takeoff');
  //Create a New Area Item in the Estimating Tab
  Area := Est.NewItem('Area','Get Rect Demo');
  //Create a new Section for the Area
  sect := Area.NewSection('Get Rect Demo Section');
  //Call the Get Rect functions
  psline := ps.GetRect('Draw Area');
  //Get the two points from the iLine Returned by the GetRect function
  pt1 := psline.Point1;
  pt2 := psline.Point2;
  //Add Points to section to create a box
  sect.NewPoint(pt1.X,pt1.y);
  sect.NewPoint(pt2.X,pt1.y);
  sect.NewPoint(pt2.X,pt2.y);
  sect.NewPoint(pt1.X,pt2.y);
  sect.NewPoint(pt1.X,pt1.y);
  //Create Line Segment Item
  seg := Area.NewItem('Segment','Draw One Way Demo');
  //input Spacing
  S := StrToInt(inputBox('Enter Spacing','Enter Spacing','24'));
 
  //Get TwoWayLayout (Dras Segment lines in one direction)
  ps.GetTwoWayLayout(Seg.GUID,'Draw Span','Draw Run',True,True,s,sect.guid);
 
  //Free the Planswift Interface
  ps := nil;
end;

C#

Code Block
languagec#
themeRDark
firstline1
titleUsing IItem Object Model
linenumberstrue
collapsetrue
public class PlanswiftApi
{
    private PlanSwift Planswift { get; }
    public PlanSwiftApi()
    {
        Planswift = new PlanSwift();
    }
}


Code Block
languagec#
themeRDark
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
Coming soon

VB/VBA (OLE)

Code Block
languagevb
firstline1
titleUsing IItem Object Model
linenumberstrue
Coming soon


Code Block
languagevb
firstline1
titleUsing PlanSwift Object Model
linenumberstrue
Coming soon