nanoCAD Platform Help
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Steel welded neck GOST 12821-80
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Steel welded neck GOST 12821-80
Script (only the BeforeConnect and OnConnect procedures)
Other can be seen in the database of the standard details.
// For flange necessary to geometric constraints // Have been installed on the gasket and parametric - // The second flange. function OnConnect { // When setting dependencies on multiple objects, we first // Store information about objects, // And then use it to install, depending // So, the first stage - the selection of the parameters // Here rPart is 0 (the serial number of the query begins // 0. // If this is the first request, and the selected object = laying GOST 15180, // Save the parameters of the object (pads) under the number 0 if (rPart == 0 & & obj.strTheName == " GOST 15180-86 ") { setWorkId (0, obj.objectID); Handled = OBJ_HANDLED; }; // For the second request - check further whether this // Object flange GOST 12821, and, if so, to save the parameters of this // Flange at number 1. if (rPart == 1 & & obj.strTheName == " GOST 12821-80 ") { setWorkId (1, obj.objectID); Handled = OBJ_HANDLED; }; // Then consider the stored data objects: // If something was preserved in the first stage, that is, the data is not equal to 0 if (getWorkId (0) = 0) { // Restore the data object variable obj 0 getObjData (getWorkId (0), obj); // Closest to the insertion point plane strNearestPlane = GetNearestPlane (pntOrigin); // If the plane had been found, if (strNearestPlane! = UnknownValue) { // We set the geometric constraints of the insert. SetGeomConstraint (INSERT, CONTRDIRECT, obj, WP1, strNearestPlane, 0, TRUE); // Do not choose a direction vector NoVectorSelect = 1; }; }; // If in the latter case the data has been stored, then: if (getWorkId (1) = 0) { // Restore them back to the variable obj getObjData (getWorkId (1), obj); // Set a set of parametric dependencies // In nominal pressure, nominal size, // Form with a cut flange Series and a number of performances. SetParamConstraint (Py, obj, EXPR, " obj.Py ", TRUE); SetParamConstraint (Dy, obj, EXPR, " obj.Dy ", TRUE); SetParamConstraint (bSection, obj, EXPR, " obj.bSection ", TRUE); SetParamConstraint (R, obj, EXPR, " obj.R ", TRUE); SetParamConstraint (isp_row, obj, EXPR, " obj.isp_row ", TRUE); NoVectorSelect = 1; }; // This block is realized when joining the flange to the pipe // The first request for a check type and subtype if (rPart == 0 & & obj.strTheType == " Tube " & & obj.strTheSubType == " Round ") { // Is the nearest plane strNearestPlane = GetNearestPlane (pntOrigin); if (strNearestPlane! = UnknownValue) { // Set geometric SetGeomConstraint (INSERT, CONTRDIRECT, obj, WP2, strNearestPlane, 0, TRUE); SetGeomConstraint (DIRECITON, CODIRECT, obj, WPnormal, obj.WPnormal, 0, TRUE); NoVectorSelect = 1; }; // And parametric dependence SetParamConstraint (Dn, obj, EXPR, " obj.B ", TRUE); Handled = OBJ_HANDLED; }; };