Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
def add_gridlines_for_system(SapModel,grid_sys,gridlines,
ord_type='coord'):
"""
grid_sys='G1';
gridlines=[['01',[-19660,20910],[-22520,43740]],
['02',[-8614,24430],[-12540,45580]],
['03',[-5529,24240],[-9604,46210]],
['04',[6046,25720],[22.4,48720]]
];
"""
table_key2='Grid Definitions - Grid Lines';
grid_gen=get_table_for_editing_array(table_key2,SapModel);
table_version=grid_gen[0][0];
fields_key=grid_gen[0][1];
nos_records=grid_gen[0][2];
existing_table_data=list(grid_gen[0][3]);
#loop thru the gridlines and see if they are preexisting
grids_to_add=[];
for grid in gridlines:
grid_name=grid[0];
grid_exists=False;
for key in grid_gen[1]:
gridSys=grid_gen[1][key]['Name'];
gridID=grid_gen[1][key]['ID'];
if(grid_sys==gridSys and grid_name==gridID):
grid_exists=True;
if(grid_exists==False):
grids_to_add.append(grid_name);
#add the grids to the grid data
new_table_data=[];
for grid in gridlines:
grid_name=grid[0];
if(ord_type=='coord'):
grid_x1=str(grid[1][0]);
grid_y1=str(grid[1][1]);
grid_x2=str(grid[2][0]);
grid_y2=str(grid[2][1]);
elif(ord_type=='points'):
#get the point coord
pt1,pt2=grid[1];
grid_x1,grid_y1=SapModel.PointObj.GetCoordCartesian(pt1)[0:2];
grid_x1,grid_y1=round(grid_x1,3),round(grid_y1,3);
grid_x1,grid_y1=str(grid_x1),str(grid_y1);
grid_x2,grid_y2=SapModel.PointObj.GetCoordCartesian(pt2)[0:2];
grid_x2,grid_y2=round(grid_x2,3),round(grid_y2,3);
grid_x2,grid_y2=str(grid_x2),str(grid_y2);
if(grid_name in grids_to_add):
new_table_data.extend([grid_sys,'General (Cartesian)',grid_name,
'','',grid_x1,grid_y1,grid_x2,grid_y2,
'End','Yes']);
nos_records+=1;
table_data=existing_table_data+new_table_data;
SapModel.DatabaseTables.SetTableForEditingArray(table_key2,
table_version,fields_key,nos_records,table_data);
#apply the table for editing
ret_val=SapModel.DatabaseTables.ApplyEditedTables(True);
print(ret_val[-2]);
SapModel.View.RefreshView();
return None;