mirror of
https://github.com/jeremytammik/RevitSdkSamples.git
synced 2026-08-20 20:22:03 +00:00
33 lines
2.7 KiB
Plaintext
33 lines
2.7 KiB
Plaintext
{\rtf1\fbidis\ansi\ansicpg1252\deff0\deflang1033\deflangfe2052{\fonttbl{\f0\fswiss\fprq2\fcharset0 Arial;}{\f1\froman\fprq2\fcharset0 Times New Roman;}}
|
|
\viewkind4\uc1\pard\ltrpar\nowidctlpar\b\f0\fs20 Application:\b0 RayTraceBounce\line\b Revit Platform:\b0 All\line\b Revit Version:\b0 2010.0\line\b First Released For:\b0 2010.0\line\b Last Modified:\b0 12/23/2008\line\b Modified By:\b0 JL Autodesk\line\b Programming Language:\b0 C#\line\b Skill Level:\b0 Medium\line\b Category:\b0 Geometry\line\b Type:\b0 ExternalCommand\par
|
|
\b\f1\par
|
|
\f0 Subject: \b0 Ray Trace Bounce\b\f1\par
|
|
\f0 Summary: \par
|
|
\pard\ltrpar\b0 This sample shows how to find intersection between ray and face and create connecting lines by Revit API method FindReferencesByDirection.\f1\par
|
|
\pard\ltrpar\nowidctlpar\b\f0\par
|
|
Classes: \f1\par
|
|
\pard\ltrpar\nowidctlpar\fi360\b0\f0 Autodesk.Revit.IExternalCommand\par
|
|
Autodesk.Revit.Document\par
|
|
Autodesk.Revit.Elements\par
|
|
Autodesk.Revit.Geometry\f1\par
|
|
\pard\ltrpar\nowidctlpar\b\par
|
|
\f0 Project Files:\b0 \par
|
|
Command.cs\f1\par
|
|
\pard\ltrpar\nowidctlpar\li360\f0 This file contains the class Command that inherits from IExternalCommand. The class implements the Execute method and is used to show RayTraceBounceForm\f1\par
|
|
\pard\ltrpar\nowidctlpar\f0 RayTraceBounceForm.cs\f1\par
|
|
\pard\ltrpar\nowidctlpar\li360\f0 The form allows entry of a coordinate location (X, Y, Z) within the model and a coordinate direction (i, j, k).\f1\par
|
|
\pard\ltrpar\nowidctlpar\par
|
|
\b\f0 Description:\b0 \par
|
|
This sample mostly uses the FindReferencesByDirection method for implementing the functionalities:\f1\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li360\tx360\f0 1.\tab Launch a ray from appointed location in appointed direction to find the first intersection with a face\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li360 2.\tab Calculate the reflection angle of the ray from the face and launch another ray to find the next intersection\par
|
|
3.\tab For each ray/intersection, create a model line connecting the two points. The end result should be a series of model lines bouncing from item to item.\par
|
|
4.\tab Provide a hard limit of say, 100 intersections, to prevent endless reflections within an enclosed space.\par
|
|
5.\tab Write a log file of the intersection containing: the element type, id, and material of the intersected face.\par
|
|
\pard\ltrpar\nowidctlpar\f1\par
|
|
\b\f0 Instructions:\par
|
|
\pard\ltrpar\nowidctlpar\fi-360\li360\b0 1.\tab Open the document bounce.rvt which should have 3D view and a line style "bounce" created in the document\f1\par
|
|
\f0 2.\tab Run this external command to show the dialog\par
|
|
3.\tab Input suitable origin point and direction and click ok button and the lines is created\f1\par
|
|
}
|
|
|