|Message: Problems with Subtraction Solids||Not Logged In (login)|
Click on the Forum title, e.g. on the "Forums by Category" page, to read a sequence of postings to the Forum and its threads all in one page. If you are only interested in one thread or the thread following a specific posting, click the thread or the posting, which takes you to a smaller page, which contains only the part you are interested in and may be easier to navigate.
Messages are "chained" if there are only replies at the first level, i.e. 1/1.html, 1/1/1.html etc. In case of "chained" messages the message number is replaced by the icon and there is no indentation.
Inline: Display the subject line only or also the text of the posting(s); for the choice "All" the "Outline" choices are switched off.
|1||0||1||no text / full text of posting|
|2||1||All||text for level 1 only / text for All postings|
Outline: Choose the depth of the posting thread, successive toggle controls provide increasing detail.
|1||2||1||2 levels / 1 level (original posting)|
|2||3||2||3 levels / 2 levels|
|3||3||All||3 levels / all levels (all postings)|
Hi! I'm trying to subtract two solids and am getting a error message (the one I believe one would get from overlapping two surfaces, but I believe I am not doing so. I tried various debugging methods, and changed quantities here and there without results. The error is: Polyhedron not available for pPTFE05StockUpperCutTubSub1 Touchable path: Laboratory 0 PTFE05 0 This means it cannot be visualized on most systems (try RayTracer). 1) The solid may not have implemented the CreatePolyhedron method. 2) For Boolean solids, the BooleanProcessor, which attempts to create the resultant polyhedron, may have failed.
So, I have a Polycone that consists of a cylinder with another higher radii cylinder in the bottom, basically. I'm trying to subtract a tube from it that'd make it so the upper face of the cylinder would have a protuberance. The code for my subtraction solid:
G4double dPTFE05StockUpperCutTubInnerRadius = 43.00 * mm; //The radius of the upper part is 46.00, so nothing should be overlapping here G4double dPTFE05StockUpperCutTubOuterRadius = dPTFE05StockUpperCutTubInnerRadius + 20.0 * mm; //Same, and the radius of the lower higher radius cylinder is 54, so again nothing should be overlapping G4double dPTFE05StockUpperCutTubHeight = 2 * (dPTFE05StockHeight1 - dPTFE05StockHeight3); //The height of the cylinder is 2*Height1 (which ends up being 28mm). This is 22.5mm * 2 so, again, nothing should overlap
G4double dPTFE05StockUpperCutTubSubX = 0.00 * mm; G4double dPTFE05StockUpperCutTubSubY = 0.00 * mm; G4double dPTFE05StockUpperCutTubSubZ = dPTFE05StockHeight1; //Placing its center in 0,0,14mm in relation to the initial cylinder. So it should go down 22.5mm, up 22.5 and nothing overlapping again
G4Tubs* pPTFE05StockUpperCutTub = new G4Tubs("PTFE05UpperCut", dPTFE05StockUpperCutTubInnerRadius, dPTFE05StockUpperCutTubOuterRadius, 0.5 * dPTFE05StockUpperCutTubHeight,-M_PI/6 + 0.1090831, 0.5 * M_PI - 0.1090831); //Just the radii and the height, the angles are complicated but basically it's calculated to span 107.5 degrees
G4SubtractionSolid* pPTFE05StockPMTSub1 = new G4SubtractionSolid("pPTFE05StockPMTSub1", pPTFE05Stock, pPTFE05PMTSignalFT, dPTFE05StockPMTSubTransform1); //Transform1 is simply placing the thing at 0,0,15 and rotating it 120 degrees to be on the left upper part of the cylinder
Is anything here overlapping and I can't see? Sorry for the long post, any help is appreciated
|Inline Depth:||Outline Depth:||Add message:|