Continue to Site

Welcome to MCAD Central

Join our MCAD Central community forums, the largest resource for MCAD (Mechanical Computer-Aided Design) professionals, including files, forums, jobs, articles, calendar, and more.

highlight dim on drawing

weblinker

New member
Hi


does anybody have an idea how to highlight dimensions on a pro/e drawing.
I have a piece of code where I can determine dimensions, but up to now I'm not able to highlight them on the drawing.


Maybe anybody hasan idea?


Thank's for each answer
weblinker





function refresh()
/*
refresh() "sammelt" alle Daten und stellt sie in der dynamischen Tabelle dar
*/
{
var Out="no dimensions present";

// damit bei einem erneuten Refresh() das Array wieder "leer" ist
arrDimsTols=new Array();




// pfcModels <--- pfcModel2D.ListModels()
// hier aber Anomalie : pfcModels <--- pfcModel.ListModels() eine pfcModel2D-Methode direkt auf pfcModel angewendet.
var ModelsList = CurModel.ListModels();
// ModelsList ist ein pfcModels-Objekt

// pfcModel <--- pfcModels.Item(Intger);
var DrawingModel = ModelsList.Item(0);
// DrawingModel ist ein pfcModel-Objekt

// somit jetzt zwei pfcModel-Objekte : CurModel und DrawingModel

// pfcDimension2Ds <--- pfcModel2D.ListShownDimensions(pfcModel, pfcModelItemType)
// hier aber Anomalie : pfcDimension2Ds <--- pfcModel.ListShownDimensions(pfcModel, pfcModelItemType)
var CurDimsList = CurModel.ListShownDimensions(DrawingModel, pfcCreate("pfcModelItemType").ITEM_DIMENSION);
// CurDimsList ist ein pfcDimension2Ds-Objekt

for (var i=0; i<CurDimsList.Count; i++)
{
// pfcDimension2D <--- pfcDimension2Ds.Item(i)
var SingleDim = CurDimsList.Item(i);
// SingleDim ist ein pfcDimension2D-Objekt

// number <--- pfcDimension2D.DimValue funktioniert weil: pfcBaseDimension ist Parent-Class von pfcDimension2D
// number <--- pfcBaseDimension.DimValue
var SingleDimValue = dezRound(SingleDim.DimValue,5);
// SingleDimValue ist eine number
// SingleDimValue kommt ins arrDimTol-Array

// pfcDimensionType <--- pfcDimension2D.DimType funktioniert weil: pfcBaseDimension ist Parent-Class von pfcDimension2D
// pfcDimensionType <--- pfcBaseDimension.DimType
var DimType = SingleDim.DimType;
// DimType ist ein pfcDimensionType-Objekt

// funktioniert +

switch (DimType)
{
case pfcCreate("pfcDimensionType").DIM_LINEAR:
var DimTypeName = ("LINEAR");
break;
case pfcCreate("pfcDimensionType").DIM_RADIAL:
var DimTypeName = ("RADIAL");
break;
case pfcCreate("pfcDimensionType").DIM_DIAMETER:
var DimTypeName = ("DIAMETER");
break;
case pfcCreate("pfcDimensionType").DIM_ANGULAR:
var DimTypeName = ("ANGULAR");
break;
case pfcCreate("pfcDimensionType").DimensionType_nil:
var DimTypeName = ("nil");
break;
}



try
{
// pfcDimTolerance <--- pfcDimension2D.GetTolerance()
var Tol = SingleDim.GetTolerance();
// Tol ist ein pfcDimTolerance-Objekt

// pfcDimToleranceType <--- pfcDimTolerance.Type
var TolType = Tol.Type // Error : object is required
// TolType ist ein pfcDimToleranceType-Objekt


var TolRangeActual;
var TolTypeName;
var withinTolRange = false;
switch (TolType)
{
case pfcCreate("pfcDimToleranceType").DIMTOL_LIMITS:
TolTypeName = "LIMITS";
var TolUpperLimit = Tol.UpperLimit;
var TolLowerLimit = Tol.LowerLimit;
TolRangeActual = dezRound((TolUpperLimit - TolLowerLimit),5);
withinTolRange = checkTolRange(TolRangeActual);
break;

case pfcCreate("pfcDimToleranceType").DIMTOL_PLUS_MINUS:
TolTypeName = "PLUS MINUS";
var TolPlus = Tol.Plus;
var TolMinus = Tol.Minus;
TolRangeActual = dezRound((TolPlus + TolMinus),5);
withinTolRange = checkTolRange(TolRangeActual);
break;

case pfcCreate("pfcDimToleranceType").DIMTOL_SYMMETRIC:
TolTypeName = "SYMMETRIC";
var TolValue = Tol.Value;
TolRangeActual = dezRound((2*TolValue),5);
withinTolRange = checkTolRange(TolRangeActual);
break;

case pfcCreate("pfcDimToleranceType").DIMTOL_SYMMETRIC_SUPERSCRIP T:
TolTypeName = "SUPERSCRIPT";
var TolValue = Tol.Value;
TolRangeActual = dezRound((2*TolValue),5);
withinTolRange = checkTolRange(TolRangeActual);
break;

case pfcCreate("pfcDimToleranceType").DIMTOL_ISODIN:
TolTypeName = "ISO DIN";
//alert(TolTypeName);
var TolTableName = Tol.TableName;
var TolTableColumn = Tol.TableColumn;

if (alphabeth(TolTableName) == true)
{
TolRangeActual = Tol.TableName + "" + Tol.TableColumn;
withinTolRange = true;
TolRangeActual = Tol.TableName + "" + Tol.TableColumn;
}
else
{
withinTolRange = false;
}
break;

case pfcCreate("pfcDimToleranceType").DimToleranceType_nil:
alert ("DimToleranceType_nil");
withinTolRange = false;
break;
}

if (withinTolRange == true)
{
// objDimTol (DimensionType, ToleranceType, ToleranceRange)
arrDimsTols[arrDimsTols.length] = new objDimTol(DimTypeName, SingleDimValue, TolTypeName, TolRangeActual);
}

}
catch (er)
{}
}
 
Hello Gary


The dimensions I want to highlight have to have a certain tolerance range.
In the meanwhile I achived to highlight these dimensions, all together or a certain selected one. If you want to have a look on the script I uploaded all necessary files. I think this it rather nice. You can determine which dimensions within a certain tolerance range are the most interessting ones.


The next thing a want to do ( and where I didn't get a solution up to now) is, I want to zoom to certain highlighted dimension. Do you have any experience with "PAN" and "ZOOM"


I tried this, but no reaction on the drawing screen. This function is already implemented in the zip-file.


function PanDim()
{
alert("W");
CurPan = pfcCreate("pfcScreenTransform").Create(-1000.0, 0.1, 5);
// CurPan ist ein -Objekt
CurWind.CurPan;
CurWind.Refresh();
}


2010-12-26_062510_Forum.zip
Edited by: weblinker
 

Sponsor

Articles From 3DCAD World

Back
Top