Revit本地化功能插件
- 格式:pdf
- 大小:136.54 KB
- 文档页数:1
十二、revit插件业务背景摆脱以往ifc的集成方式,直接获取Revit源数据,将Revit模型集成应用变得更加方便快捷,数据更加完整(目前插件支持Revit2014、Revit2015)Revit插件的主要内容:1、Revit插件的下载安装2、导出到BIM5D3、Revit楼层合并4、导出机电模型5、导出土建(土建、粗装修、幕墙)模型6、导出场地模型7、E5D文件的导入1、Revit插件的下载安装插件下载后,双击进行安装;安装时,选择安装路径、支持版本、勾选【我同意】后,点击【开始安装】。
点击开始安装即可。
说明:1.同一台电脑上,支持同时安装Revit2014、Revit2015两个版本;2.点击【用户许可协议】,可以查看协议详细内容;3.安装插件时,必须先关闭Revit软件。
2、导出到BIM5D安装插件后,打开Revit软件,在【工具栏——附加模块】中会生成名为【BIM5D】的图标说明:1.配置规则:设置导出IGMS文件时的规则;2.导出到BIM5D:导出IGMS文件,此文件支持导入【广联达BIM5D】3.关于IGMSExporterForRevit:查看当前插件版本号将模型切换到3D模式下,点击选择【BIM5D——导出到BIM5D】3、Revit楼层合并选择导出到BIM5D,进入到【范围设置】窗口,选择需要合并的楼层,点击右键。
选择【合并楼层】进行楼层合并,点击【撤销合并】将撤销合并的楼层。
说明:1.Revit合并楼层重命名必须在Revit软件中使用;合并后合并楼层的名称显示为所选楼层最底层的楼层名称;2.Revit合并楼层后,勾选【是否导出】,撤销合并后,最顶层楼层默认勾选【是否导出】;勾选【是否导出】后,Revit合并楼层,取消勾选【是否导出】,撤销合并后默认最底层楼层勾选【是否导出】;3.当项目文件较大时,可通过勾选【是否导出】控制导出楼层;当同一个项目被导成多个工程文件后,导入5D时可通过楼层合并功能合并成一个项目;4.勾选是,可以再导出后生成导出日志。
revit可视化编程插件Dynamo使用手册Dynamo Language ManualContents1. Language Basics2. Geometry Basics3. Geometric Primitives4. Vector Math5. Range Expressions6. Collections7. Functions8. Math9. Curves: Interpreted and Control Points10. Translation, Rotation, and Other Transformations11. Conditionals and Boolean Logic12. Looping13. Replication Guides14. Collection Rank and Jagged Collections15. Surfaces: Interpreted, Control Points, Loft, Revolve16. Geometric Parameterization17. Intersection and Trim18. Geometric BooleansA-1. Appendix 1: Python Point GeneratorsIntroductionProgramming languages are created to express ideas, usually involving logic and calculation. In addition to these objectives, theDynamo textual language (formerly DesignScript) has been created to express design intentions. It is generally recognizedthat computational designing is exploratory, and Dynamo tries tosupport this: we hope you find the language flexible and fast enough to take a design from concept, through design iterations,to your final form.This manual is structured to give a user with no knowledge ofeither programming or architectural geometry full exposure to avariety of topics in these two intersecting disciplines. Individualswith more experienced backgrounds should jump to the individualsections which are relevant to their interests and problemdomain. Each section is self-contained, and doesn’t require anyknowledge besides the information presented in prior sections.Text blocks inset in the Consolas font should be pasted into aCode Block node. The output of the Code Block should be connected into a Watch node to see the intended result. Imagesare included in the left margin illustrating the correct output ofyour program.This document discusses the Dynamo textual programming language, used inside of the Dynamo editor (sometimes referred to as “Dynamo Sandbox”). To create a new Dynamo script,open the Dynamo editor, and select the “New” button in the “FILES” group:This will open a blank Dynamo graph. To write a Dynamo text script, double click anywhere in the canvas. This will bring up a“Code Block” node. In order to easily see the results of our scripts, attach a “Watch” node to the output of your Code Blocknode, as shown here:Every script is a series of written commands. Some of these commands create geometry; others solve mathematicalproblems, write text files, or generate text strings. A simple, oneline program which gen erates the quote “Less is more.” looks likethis:The Watch node on the left shows the output of the script."Less is more.";1: Language BasicsThe command generates a new String object. Strings in Dynamoare designated by two quotation marks ("), and the enclosed characters, including spaces, are passed out of the node. CodeBlock nodes are not limited to generating Strings. A Code Blocknode to generate the number 5420 looks like this: Every command in Dynamo is terminated by a semicolon. If you do not include one, the Editor will add one for you. Also note thatthe number and combination of spaces, tabs, and carriage returns, called white space, between the elements of a commanddo not matter. This program produces the exact same output asthe first program:Naturally, the use of white space should be used to help improvethe readability of your code, both for yourself and future readers.Comments are another tool to help improve the readability ofyour code. In Dynamo, a single line of code is “co mmented ” withtwo forward slashes, //. This makes the node ignore everythingwritten after the slashes, up to a carriage return (the end of theline). Comments longer than one line begin with a forward slashasterisk, /*, and end with an asterisk forward slash, */.5420;"Less Is More.";So far the Code Block arguments have been ‘literal’ values, either a text string or a number. However it is often more useful for function arguments to be stored in data containers called variables, which both make code more readable, and eliminate redundant commands in your code. The names of variables are up to individual programmers to decide, though each variable name must be unique, start with a lower or uppercase letter, and contain only letters, numbers, or underscores, _. Spaces are not allowed in variable names. Variable names should, though are not required, to describe the data they contain. For instance, a variable to keep track of the rotation of an object could be called rotation. T o describe data with multiple words, programmerstypically use two common conventions: separate the words by capital letters, called camelCase (the successive capital letters mimic the humps of a camel), or to separate individual words with underscores. For instance, a variable to describe the rotation of asmall disk might be namedsmallDiskRotation orsmall_disk_rotation, depending on the programmer’s stylistic preference. To create a variable, write its name to the left of an equal sign, followed by the value you want to assign to it. For instance:Besides making readily apparent what the role of the text string is, variables can help reduce the amount of code that needs updating if data changes in the future. For instance the text of the following quote only needs to be changed in one place, despite its appearance three times in the program.// This is a single line comment/* This is a multiple line comment,which continues for multiplelines. */// All of these comments have no effect on// the execution of the program// This line prints a quote by Mies van der Rohe"Less Is More";quote = "Less is more.";Here we are joining a quote by Mies van der Rohe three times, with spaces between each phrase. Notice the use of the +operator to ‘concatenate’ the strings and variables together toform one continuous output.// My favorite architecture quotequote = "Less is more.";quote + " " + quote + " " + quote;// My NEW favorite architecture quotequote ="Less is a bore.";quote + " " + quote + " " + quote;The simplest geometrical object in the Dynamo standardgeometry library is a point. All geometry is created using specialfunctions called constructors, which each return a new instanceof that particular geometry type. In Dynamo, constructors beginwith th e name of the obje ct’s type, in this case Point , followed bythe method of construction. To create a three dimensional pointspecified by x, y, and z Cartesian coordinates, use theByCoordinates constructor: Constructors in Dynamo are typically design ated with the “By ”prefix, and invoking these functions returns a newly created object of that type. This newly created object is stored in the variable named on the left side of the equal sign, and any use ofthat same original Point.Most objects have many different constructors, and we can usethe BySphericalCoordinates constructor to create a point lyingon a sphere, specified by the sphere’s radius, a first rotation angle, and a second rotation angle (specified in degrees):// create a point with the following x, y, and z// coordinates: x = 10; y = 2.5; z = -6;p = Point.ByCoordinates(x, y, z);// create a point on a sphere with the following radius, // theta, and phi rotation angles (specified in degrees)radius = 5;theta = 75.5;phi = 120.3;cs = CoordinateSystem.Identity();p = Point.BySphericalCoordinates(cs, radius, theta,phi);2: Geometry BasicsPoints can be used to construct higher dimensional geometrysuch as lines. We can use the ByStartPointEndPointconstructor to create a Line object between two points: Similarly, lines can be used to create higher dimensional surface geometry, for instance using the Loft constructor, which takes aseries of lines or curves and interpolates a surface between them.Surfaces too can be used to create higher dimensional solid geometry, for instance by thickening the surface by a specifieddistance. Many objects have functions attached to them, calledmethods, allowing the programmer to perform commands on thatparticular object. Methods common to all pieces of geometryinclude Translate and Rotate , which respectively translate(move) and rotate the geometry by a specified amount.Surfaceshave a Thicken method, which take a single input, a number specifying the new thickness of the surface.// create two points: p1 = Point.ByCoordinates(3, 10, 2);p2 = Point.ByCoordinates(-15, 7, 0.5);// construct a line between p1 and p2l = Line.ByStartPointEndPoint(p1, p2);// create points:p1 = Point.ByCoordinates(3, 10, 2);p2 = Point.ByCoordinates(-15, 7, 0.5);p3 = Point.ByCoordinates(5, -3, 5);p4 = Point.ByCoordinates(-5, -6, 2);p5 = Point.ByCoordinates(9, -10, -2);p6 = Point.ByCoordinates(-11, -12, -4);// create lines:l1 = Line.ByStartPointEndPoint(p1, p2);l2 = Line.ByStartPointEndPoint(p3, p4);l3 = Line.ByStartPointEndPoint(p5, p6);// loft between cross section lines:surf = Surface.ByLoft({l1, l2, l3});Intersection commands can extract lower dimensionalgeometry from higher dimensional objects. This extracted lowerdimensional geometry can form the basis for higher dimensionalgeometry, in a cyclic process of geometrical creation, extraction,and recreation. In this example, we use the generated Solid tocreate a Surface, and use the Surface to create a Curve.p1 = Point.ByCoordinates(3, 10, 2);p2 = Point.ByCoordinates(-15, 7, 0.5);p3 = Point.ByCoordinates(5, -3, 5);p4 = Point.ByCoordinates(-5, -6, 2);l1 = Line.ByStartPointEndPoint(p1, p2);l2 = Line.ByStartPointEndPoint(p3, p4);surf = Surface.ByLoft({l1, l2});// true indicates to thicken both sides of the Surface: solid = surf.Thicken(4.75, true);p1 = Point.ByCoordinates(3, 10, 2);p2 = Point.ByCoordinates(-15, 7, 0.5);p3 = Point.ByCoordinates(5, -3, 5);p4 = Point.ByCoordinates(-5, -6, 2);l1 = Line.ByStartPointEndPoint(p1, p2);l2 = Line.ByStartPointEndPoint(p3, p4);surf = Surface.ByLoft({l1, l2});solid = surf.Thicken(4.75, true);p = Plane.ByOriginNormal(Point.ByCoordinates(2, 0, 0), Vector.ByCoordinates(1, 1, 1));int_surf = solid.Intersect(p);int_line = int_surf.Intersect(Plane.ByOriginNormal(Point.ByCoordinates(0, 0, 0),Vector.ByCoordinates(1, 0, 0)));While Dynamo is capable of creating a variety of complexgeometric forms, simple geometric primitives form the backboneof any computational design: either directly expressed in the finaldesigned form, or used as scaffolding off of which more complexgeometry is generated.While not strictly a piece of geometry, the CoordinateSystem isan important tool for constructing geometry. A CoordinateSystemobject keeps track of both position and geometric transformationssuch as rotation, sheer, and scaling.Creating a CoordinateSystem centered at a point with x = 0, y =0, z = 0, with no rotations, scaling, or sheering transformations,simply requires calling the Identity constructor: CoordinateSystems with geometric transformations are beyond the scope of this chapter, though another constructor allows youto create a coordinate system at a specific point,CoordinateSystem.ByOriginVectors :The simplest geometric primitive is a Point, representing a zero-dimensional location in three-dimensional space. As mentionedearlier there are several different ways to create a point in a particular coordinate system: Point.ByCoordinates creates a // create a CoordinateSystem at x = 0, y = 0, z = 0,// no rotations, scaling, or sheering transformationscs = CoordinateSystem.Identity();// create a CoordinateSystem at a specific location, // no rotations, scaling, or sheering transformations x_pos = 3.6;y_pos = 9.4; z_pos = 13.0;origin = Point.ByCoordinates(x_pos, y_pos, z_pos);identity = CoordinateSystem.Identity();cs = CoordinateSystem.ByOriginVectors(origin,identity.XAxis, identity.YAxis, identity.ZAxis);3: Geometric Primitivespoint with specified x, y, and z coordinates;Point.ByCartesianCoordinates creates a point with a specified x, y, and z coordinates in a specific coordinate system ; Point.ByCylindricalCoordinates creates a point lying on a cylinder with radius, rotation angle, and height; and Point.BySphericalCoordinates creates a point lying on a sphere with radius and two rotation angle.This example shows points created at various coordinatesystems:The next higher dimensional Dynamo primitive is a line segment,representing an infinite number of points between two end points.Lines can be created by explicitly stating the two boundary pointswith the constructor Line.ByStartPointEndPoint , or byspecifying a start point, direction, and length in that direction, Line.ByStartPointDirectionLength .// create a point with x, y, and z coordinatesx_pos = 1;y_pos = 2;z_pos = 3;pCoord = Point.ByCoordinates(x_pos, y_pos, z_pos);// create a point in a specific coordinate systemcs = CoordinateSystem.Identity();pCoordSystem = Point.ByCartesianCoordinates(cs, x_pos,y_pos, z_pos);// create a point on a cylinder with the following// radius and heightradius = 5;height = 15;theta = 75.5;pCyl = Point.ByCylindricalCoordinates(cs, radius, theta, height);// create a point on a sphere with radius and two anglesphi = 120.3;pSphere = Point.BySphericalCoordinates(cs, radius,theta, phi);Dynamo has objects representing the most basic types ofgeometric primitives in three dimensions: Cuboids, created withCuboid.ByLengths ; Cones, created with Cone.ByPointsRadiusand Cone.ByPointsRadii ; Cylinders, created withCylinder.ByRadiusHeight ; and Spheres, created withSphere.ByCenterPointRadius .p1 = Point.ByCoordinates(-2, -5, -10);p2 = Point.ByCoordinates(6, 8, 10);// a line segment between two pointsl2pts = Line.ByStartPointEndPoint(p1, p2);// a line segment at p1 in direction 1, 1, 1 with// length 10lDir = Line.ByStartPointDirectionLength(p1,Vector.ByCoordinates(1, 1, 1), 10);// create a cuboid with specified lengthscs = CoordinateSystem.Identity();cub = Cuboid.ByLengths(cs, 5, 15, 2);// create several conesp1 = Point.ByCoordinates(0, 0, 10); p2 = Point.ByCoordinates(0, 0, 20); p3 = Point.ByCoordinates(0, 0, 30);cone1 = Cone.ByPointsRadii(p1, p2, 10, 6);cone2 = Cone.ByPointsRadii(p2, p3, 6, 0);// make a cylindercylCS = cs.Translate(10, 0, 0);cyl = Cylinder.ByRadiusHeight(cylCS, 3, 10);// make a spherecenterP = Point.ByCoordinates(-10, -10, 0);sph = Sphere.ByCenterPointRadius(centerP, 5);Objects in computational designs are rarely created explicitly intheir final position and form, and are most often translated, rotated, and otherwise positioned based off of existing geometry.Vector math serves as a kind-of geometric scaffolding to give direction and orientation to geometry, as well as to conceptualizemovements through 3D space without visual representation.At its most basic, a vector represents a position in 3D space, andis often times thought of as the endpoint of an arrow from theposition (0, 0, 0) to that position. Vectors can be created withtheByCoordinates constructor, taking the x, y, and z position of thenewly created Vector object. Note that Vector objects are not geometric objects, and don’t appear in the Dynamo window.However, information about a newly created or modified vectorcan be printed in the console window: A set of mathematical operations are defined on Vector objects,allowing you to add, subtract, multiply, and otherwise move objects in 3D space as you would move real numbers in 1D space on a number line.Vector addition is defined as the sum of the components of twovectors, and can be thought of as the resulting vector if the twocomponent vector arrows are placed “tip to tail.” Vector additionis performed with the Add method, and is represented by the diagram on the left.// construct a Vector object v = Vector.ByCoordinates(1, 2, 3);s = v.X + " " + v.Y + " " + v.Z;a = Vector.ByCoordinates(5, 5, 0);b = Vector.ByCoordinates(4, 1, 0);// c has value x = 9, y = 6, z = 0c = a.Add(b);4: Vector MathSimilarly, two Vector objects can be subtracted from each otherwith the Subtract method. Vector subtraction can be thought ofas the direction from first vector to the second vector. Vector multiplication can be thought of as moving the endpoint ofa vector in its own direction by a given scale factor.Often it’s desired when scaling a vector to have the resultingvector’s length exactly equal to the scaled amount. This is easilyachieved by first normalizing a vector, in other words setting thevector’s length exactly equal to one.c still points in the same direction as a (1, 2, 3), though now it haslength exactly equal to 5.a = Vector.ByCoordinates(5, 5, 0);b = Vector.ByCoordinates(4, 1, 0);// c has value x = 1, y = 4, z = 0 c = a.Subtract(b);a = Vector.ByCoordinates(4, 4, 0);// c has value x = 20, y = 20, z = 0c = a.Scale(5);a = Vector.ByCoordinates(1, 2, 3);a_len = a.Length;// set the a's length equal to 1.0b = a.Normalized();c = b.Scale(5);// len is equal to 5len = c.Length;Two additio nal methods exist in vector math which don’t haveclear parallels with 1D math, the cross product and dot product.The cross product is a means of generating a Vector which is orthogonal (at 90 degrees to) to two existing Vectors. Forexample, the cross product of the x and y axes is the z axis, though the two input Vectors don’t need to be orthogonal to eachother. A cross product vector is calculated with the Crossmethod. An additional, though somewhat more advanced function ofvector math is the dot product. The dot product between two vectors is a real number (not a Vector object) that relates to, butis not exactly , the angle between two vectors. One usefulproperties of the dot product is that the dot product between twovectors will be 0 if and only if they are perpendicular. The dot product is calculated with the Dot method.a = Vector.ByCoordinates(1, 0, 1);b = Vector.ByCoordinates(0, 1, 1);// c has value x = -1, y = -1, z = 1c = a.Cross(b);a = Vector.ByCoordinates(1, 2, 1);b = Vector.ByCoordinates(5, -8, 4);// d has value -7d = a.Dot(b);Almost every design involves repetitive elements, and explicitlytyping out the names and constructors of every Point, Line, andother primitives in a script would be prohibitively time consuming.Range expressions give a Dynamo programmer the means toexpress sets of values as parameters on either side of two dots(..), generating intermediate numbers between these twoextremes.For instance, while we have seen variables containing a single number, it is possible with range expressions to have variableswhich contain a set of numbers. The simplest range expressionfills in the whole number increments between the range start andend. In previous examples, if a single number is passed in as theargument of a function, it would produce a single result. Similarly,if a range of values is passed in as the argument of a function, arange of values is returned.For instance, if we pass a range of values into the Lineconstructor, Dynamo returns a range of lines.By default range expressions fill in the range between numbersincrementing by whole digit numbers, which can be useful for aquick topological sketch, but are less appropriate for actual designs. By adding a second ellipsis (..) to the range expression, you can specify the amount the range expression increments between values. Here we want all the numbersbetween 0 and 1, incrementing by 0.1:a = 1..6;x_pos = 1..6;y_pos = 5;z_pos = 1;lines = Line.ByStartPointEndPoint(Point.ByCoordinates(0,0, 0), Point.ByCoordinates(x_pos, y_pos, z_pos));5: Range ExpressionsOne problem that can arise when specifying the increment between range expression boundaries is that the numbers generated will not always fall on the final range value. Forinstance, if we create a range expression between 0 and 7, incrementing by 0.75, the following values are generated:If a design requires a generated range expression to endprecisely on the maximum range expression value, Dynamo canapproximate an increment, coming as close as possible while stillmaintaining an equal distribution of numbers between the rangeboundaries. This is done with the approximate sign (~)before thethird parameter:However, if you want to Dynamo to interpolate between rangeswith a discrete number of elements, the # operator allows you tospecify this:a = 0..1..0.1;a = 0..7..0.75;// DesignScript will increment by 0.777 not 0.75 a = 0..7..~0.75;// Interpolate between 0 and 7 such that// “a” will contain 9 element sa = 0..7..#9;Collections are special types of variables which hold sets of values. For instance, a collection might contain the values 1 to10, {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, assorted geometryfrom the result of an Intersection operation, {Surface, Point, Line, Point}, or even a set of collections themselves, { {1, 2, 3}, {4, 5}, 6}.One of the easier ways to generate a collection is with range expressions (see: Range Expressions ). Range expressions by default generate collections of numbers, though if thesecollections are passed into functions or constructors, collectionsof objects are returned. When range expressions aren’t appropriate, collections can becreated empty and manually filled with values. The square bracket operator ([]) is used to access members inside of a collection. The square brackets are written after the variable’sname, with the number of the individual collection member contained inside. This numb er is called the collection member’sindex. For historical reasons, indexing starts at 0, meaning thefirst element of a collection is accessed with: collection[0],and is often called the “zeroth” number. Subsequent membersare accessed by increasing the index by one, for example:The individual members of a collection can be modified using the same index operator after the collection has beencreated:// use a range expression to generate a collection of // numbers nums = 0..10..0.75;// use the collection of numbers to generate a// collection of Pointspoints = Point.ByCoordinates(nums, 0, 0);// a collection of numbersnums = 0..10..0.75;// create a single point with the 6th element of the// collectionpoints = Point.ByCoordinates(nums[5], 0, 0);6: Collections。
《矽按学悅乡银》2020年第6期工程科技基于REVIT平台的工程算量插件二次开发与应用曾开发(福建省晨曦信息科技股份有限公司,福建福州350000)摘要:将BIM技术应用于数字造价管理是行业发展的趋势,工程量是工程造价信息化工作的基础之一,目前利用Revit建模进行工程量的计算已经成为必要的技术手段,目前BIM算量有三种不同的技术路径,在Revit模型提取构件几何尺寸利用算量插件按规则算量适应于BIM正向设计的要求,应用晨曦BIM 算量软件通过工程算量的实例,分析利用算量插件提取构件几何尺寸按规则算量,可以实现“一模多用”的建筑信息化管理目标技术优势。
关键词:计算规则;构件连接关系;构造柱中图分类号:TP3文献标识码:A文章编号:1672-0547(2020)06-0106-0042020年8月,住建部等九部委联合发布的《关于加快新型建筑工业化发展的若干意见》提出通过新一代信息技术驱动推进建筑产业的变革,促进建筑业的全面升级,通过软件和数据形成建筑全产业链的“数字化生产线”,就目前数字建筑以依附于BIM的数据与信息为依托,其中项目建设的工程量信息是最基础的数据资源叫近年来,以广联达、斯维尔和晨曦等为代表的科技公司开发了基于BIM技术的工程算量软件。
就房屋建筑工程量计算来说,BIM算量软件有着不同的技术路线,主要包括三种:一是依据预算定额或工程量清单确定的工程量计算规则建模,目前这一技术路径由于不能适应BIM模型的变化,已经逐步失去市场价值;二是创建好专门的算量Revit模型,利用算量插件,依据工程量计算规则并利用Revit连接关系计算分部分项工程量叫目前市场应用最广的算量软件主要基于这一技术路线,但是该种模型仅仅用于工程算量,不能完全适用后期施工组织编制、场地布置和施工模拟等“一模多用”的要求;三是利用设计阶段通过止向设计形成的Revit模型,在Revit平台中嵌入算量插件,识别构件属性信息(如混凝土等级等)并提取几何信息,按规定的算量规则计算工程量。
Revit导出插件使用说明及注意事项一、使用条件:1.系统安装有 Revit 软件;2.需要超图组件许可;3.在 Revit 中的三维视图下导出数据。
二、使用方法:1.根据安装的 Revit 版本,将对应版本的插件库文件 RevitPlugin.dll 及配置程序 WriteAddin.exe 拷贝覆盖至组件包(Bin_x64)目录下,并运行该配置程序。
2.将组件包(Bin_x64)文件夹设置为系统环境变量,并确保其在path路径的最前端。
3.启动方式:打开Revit软件,在主菜单-附加模块中,点击UDB图标,弹出导出窗口。
4.导出网络数据集:如果Revit中存在管线、风管、电缆架桥等,勾选后可以导出相应的三维点、线数据集,由三维点、线构成三维网络数据集。
三、常见问题及解决方法:3.1 插件安装导致的错误3.1.1 导出模块未能引用到正确的RevitPlugin.dll 文件首次使用时,Revit会弹出一个提示框,里面显示了当前使用的 RevitPlugin.dll文件的位置,可据此进行判断引用的dll文件是否正确。
如果没能引用到正确的RevitPlugin.dll文件,需手动设置其位置:C:\Users\Administrator\AppData\Roaming\Autodesk\Revit\Addins\2017 文件夹下(如果是2018版本的Revit,则进入2018文件夹),通过记事本打开SuperMapExporter.addin文件,将RevitPlugin.dll文件的地址填入之间。
3.1.2 系统环境变量设置有误运行插件时,需要将组件包(Bin_x64)文件设置为系统环境变量,并确保其在path路径的最前端。
且组件包(Bin_x64)文件夹不能重命名。
不建议放到系统盘。
如果设置正确,仍提示错误,需重启电脑。
3.2 模型的绝对位置发生偏移Revit中存在项目基点,导出后在SuperMap iDesktop中查询得到的坐标=模型在Revit 中的坐标+项目基点坐标+导出界面插入点坐标。
isBIM正式发布Revit本地化功能插件—— isBIM工具集在建筑设计领域,BIM技术已经得到国内大多数工程企业的认同,而Revit作为BIM技术的重要软件系统,已经在工程建设行业用户中广泛普及与应用。
为了有效提高Revit软件使用者的设计效率,并使之更加符合本地化标准,具有国际先进经验的BIM咨询服务企业——北京互联立方技术服务有限公司(简称互联立方或isBIM)于2012年3月在Autodesk Revit软件基础之上发布了本地化功能插件——《isBIM工具集》。
目前首个公开发布的版本是2012V1版本,可以在Autodesk Revit系列软件的2012版本上运行。
后续版本将根据需求陆续发布。
《isBIM工具集》2012 V1版本的主要功能有Revit MEP及Revit Architecture两个模块,具体功能包括:自动标注墙厚;同心圆弧标注;风管、管道的自动、手动标记;管路避让功能;批量布置喷淋头、与支管连接等;P型、 S型存水弯的生成及布置;批量多管并排标注;碰撞检测信息显示;创建偏移风管、管道;批量添加保温层厚度;局部3D剖视图功能。
《isBIM工具集》具有安装简单、操作便捷、适用性强、与Revit操作界面风格统一等特点,目前供Autodesk Revit系列产品用户免费使用。
下载地址:isBIM官网()《isBIM工具集》菜单界面关于isBIM:北京互联立方技术服务有限公司(isBIM)系香港盖德科技集团控股的BIM服务创新基地,isBIM 在全国大部分省份设有分公司或办事处,并在北京、重庆、番禺等地与当地高校合作设立了人才培育基地。
isBIM曾先后与中国建筑设计研究院、中国天辰工程公司、北京市建筑设计研究院等众多工程建设行业用户开展广泛深入的BIM应用合作,isBIM将以打造国际化BIM服务企业为宗旨,与中国工程建设行业实现共赢。
revit基本介绍和使用方法Revit是由Autodesk公司开发的一款三维建模软件,适用于建筑、结构和机电等各种类型的设计和施工项目。
它能够使用BIM技术(Building Information Modeling)来完成建筑设计、构建和维护等过程中的各项工作。
Revit的使用方法:1.创建建筑模型:在Revit中,首先需要创建一个建筑模型,包括建筑的墙体、地面、天花板等各种结构。
2.添加家具和设备:在建筑模型中可以添加家具、设备和灯具等元素,以完善建筑的功能和美观度。
3.设置房间和标记:在建筑模型中可以设置房间,同时添加标记,以便在施工过程中更好的识别和管理建筑。
4.生成图纸:在建筑模型中可生成各种图纸,包括平面图、立面图和断面图等,以便在施工和工厂制造过程中使用。
5.协作:通过Revit,团队成员可以在同一项目中进行设计和修改工作,从而提高协作效率和准确性。
除此之外,Revit还支持自动识别并解决设计中的冲突问题,减少施工中的错误和延误。
总的来说,Revit是一款功能强大且易于使用的建筑设计软件,特别适用于大型项目和复杂建筑设计。
有些Revit的基本操作包括:1. 创建构件:选择构件类型,如墙、窗户、门等,然后通过绘制或放置来创建构件。
2. 编辑构件:在构件上执行操作,如移动、旋转、缩放和拉伸。
3. 创建视图:创建各种类型的视图,如平面图、立面图、3D视图和细节视图等。
4. 添加注释和标记:添加建筑元素的注释和标记,如测量标记、标签和尺寸。
5. 设置材质和光照:为建筑元素设置材质和光照属性,以模拟真实世界中的光照条件。
6. 添加家具和设备:在建筑模型中添加家具、设备和灯具等元素,以完成建筑的功能和美观度。
7. 进行项目协作:Revit支持多用户同时参与建筑设计和模拟,同时进行版本控制和审批流程。
总的来说,使用Revit需要一定的建筑设计知识和技能,包括对建筑模型的理解和操作方法。
建筑师、工程师、室内设计师和其他相关专业人士可以通过培训和实践来掌握Revit的使用技巧和功能特点,以更有效地完成设计和施工任务。
In it for the Long HaulTips for Serious Autodesk® Revit® Add-In Developers Joel SpahnSenior Software Developer, Lighting Analysts, Inc.Your Story Raise Your Hand Point this way if… Currently building or improving a new or existing Revit add-in Will be continuously improving a Revit add-in Thinking about it and know it will take stamina and commitmentYour Revit add-ins are basically inmaintenance modeProbably won’t ever build anotherRevit add-inFriend or colleague forced you tocome to this classPoint this way if…Learning Objectives▪Elegantly handle database transactions when implementing commands,updaters, and the like.▪Employ techniques to persist, validate, and upgrade data while staying out of the way when the add-in is unnecessary or unavailable.▪Understand the potential complications which can arise when handling even a single element.▪Apply good software development principles (e.g. Don’t Repeat Yourself) by wrapping and extending existing API functionality.Agenda▪Command Strategy▪Database Transactions ▪Data Storage▪Handling Elements▪Worksharing▪QuestionsCommand StrategyCommand Strategy▪Reuse Code –Don’t Repeat Yourself▪Know Your Place▪Stay Out of the Way▪Be Professional – Handle Your Own Business ▪Database Transaction Power & FlexibilityCodeCode samples are available on the AU website.Document Initialization & ValidationValidation Tasks▪Check if the document utilizes your add-in (store add-in version)▪Initialize, validate, upgrade the document▪Manage Shared Parameters▪Register document updaters▪EtcPerform initial validation when the user runs a command▪Not every document wants your add-in!Perform subsequent validation in the Document Opened event ▪Only if the document already utilizes your add-in!Base CommandBy Command AvailabilityBy KindImplementations Abstract Concrete AbstractAbstractExample Command Inheritance HierarchyCommand Strategy – Base Command ▪Set up exception handling▪Initialize command data▪Wrap the command in a Transaction Group▪Perform pre-command operations▪Execute the command▪Perform post-command operationsProject DocumentFamilyDocumentNoDocumentLicensed UnlicensedBase CommandBy Command AvailabilityExample Command Inheritance HierarchyCodeCode samples are available on the AU website.Database TransactionsDatabase Transactions See AU 2012 class:CP3426Core Autodesk Revit API Explained Arnošt LöbelCommand Transaction ModesAutomatic▪Not recommended▪Command is already wrapped in a TransactionManual▪Full control of Transaction Groups, Transactions, and SubTransactions ▪Can manage Undo/Redo detailsRead-Only▪Prevents the document from being modified during the commandTransaction Group▪Groups a set of one or more Transactions to behave atomically ▪Can only be started when there is no active Transaction▪Assimilate vs Commit – affects Undo/RedoTransaction▪Where all the magic happens (only way to modify a document) ▪Only one Transaction can be active at any time▪Affects Undo/Redo▪Document regeneration▪Failure Handling (modeless)SubTransaction▪Can only be started within an active Transaction▪Groups a set of document changes to behave atomically ▪Protects parent Transaction from volatile changes▪Does not have a name▪Does not regenerate the document▪Does not work with Failure HandlingNesting▪Transaction Groups –Yes▪Transactions –No▪SubTransactions –Yes▪All “transaction forms” must be entirely contained (opened & closed) within their parentDatabase Transactions – Potential Complications Commands –Not wrapped in a Transaction (manual mode)Events –Not wrapped in a Transaction▪Some events won’t allow TransactionsUpdaters – Already wrapped in a Transaction▪Can use SubTransactionsWhat if you want to perform the same operation from all of the above?“Best” Practices▪Divorce document changes from transactional structure▪Encapsulate document changes into small pieces▪Not always possibleConsistency – What do you want to happen:▪When your code throws an unexpected exception?▪When Revit throws an unexpected exception?▪With the Undo/Redo experience?If your needs are diverse, this may not be the “best” solution for youFictional Goal – Large exterior walls should be room bounding!▪Wrap the wall instances in a custom class▪Test the wall to see if it is exterior▪Test the wall to see if it is large (area > 100 or length > 10)▪Change the wall to be room bounding▪This requires a database transaction!CodeCode samples are available on the AU website.Thrive –Don’t Get Eaten AliveCustom Data StorageShared Parameters▪Visible to the user (Hidden →use Extensible Storage instead) ▪Can be scheduled▪Data structure is limited to parameter “shapes”Extensible Storage▪Hidden from user▪Cannot be scheduled▪Flexible data structuresCustom Data Storage – UpgradingShared Parameters▪Add/Remove parameters as necessaryExtensible Storage▪Read old data entity using old schema▪Convert old data to new data▪Save new data entity with new schema▪Optionally delete old data entity & schemaFinding ElementsLinked Models▪The elements you are looking for might exist in a linked model.▪Which one? Who knows…Better query them all. ☹▪Knowing the ElementId is not enough – You must know the document to which the ElementId belongs!▪If not performance intensive, expand from ElementId to Element and use Element.Document property.Consuming Elements – Filtered Element Collector Phase Status (and user context)Design Options (and user context)Pinned, grouped, hidden in a specific viewShared (child) family instanceEtcWorksharing▪Elements may be locked (checked out by another user)▪Elements may not be up to date▪Elements you change become locked (cannot be edited by other users) View Specific Queries –“Not Visible” does not mean “Does Not Exist”Worksharing – In DepthSee AU 2013 class:DV1888Facing the Elephant in the Room:Making Autodesk® Revit® Add-ins That Cooperate with Worksharing Scott ConoverWorksharing▪Don’t store project level data on the Project Info element.▪Use a DataStorage element with Extensible Storage.▪Store different data on different Data Storage elements to minimize checkout conflicts.▪Updaters cause “system changes” instead of “user changes” and do not block changed elements from being checked out by other users. ▪However, there can be conflicting user changes (from other users) can override the system changes caused by the updater.AdviceKeep going back to the documentation.Keep learning Revit.Consult API support team in all phases of project.Autodesk is a registered trademark of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. All other brand names, product names, or trademarks belong to their respective holders. Autodesk reserves the right to alter product and services offerings, and specifications and pricing at any time without notice, and is not responsible for typographical or graphical errors that may appear in this document. © 2013 Autodesk, Inc. All rights reserved.。
Revit插件---vvPlus使用说明
第一步,双击即可安装,支持Revit2015-2020.
第二步,按默认的解压缩目标文件夹,直接点击解压,解压前要先关闭revit.
第三步,打开revit,点击总是载入
第四步,在附加模块,找到vvPlus
这时显示出主面板如下:
五,相关描述:
1,只做这一个功能:处理视图可见性
2,使用方法:点击某个类别按钮,相应的隐藏或者显示该类别。
完
3,排序方式:分专业,然后按首字母排序,方便查找相应类别
4, 在使用过程中,如果有问题,可直接删除或者与我联系,报告bug。
5,如果当前使用的人太多,可能会弹出如下提示,可再等一分钟再用。
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号 (43)申请公布日 (21)申请号 201910193092.2(22)申请日 2019.03.14(71)申请人 中交一航局第三工程有限公司地址 116000 辽宁省大连市西岗区海达北街91号申请人 中交第一航务工程局有限公司(72)发明人 赫文 代浩 刘凯悦 毕建秋 唐瑜 李连龙 刘建 姜南岸 赵鑫 颜如玉 邹开泰 (74)专利代理机构 大连博晟专利代理事务所(特殊普通合伙) 21236代理人 孙丽(51)Int.Cl.G06F 17/50(2006.01)G06F 8/61(2018.01)(54)发明名称基于Revit软件的模板辅助设计工具的软件插件及应用方法(57)摘要本发明涉及施工过程中的模板建模领域,具体涉及一种基于Revit软件的模板辅助设计工具的软件插件及应用方法,所述插件包括:模板快速设计建模模块,用于Revit模型的参数化调整,通过更改模板模型的属性值来控制模板模型尺寸大小的改变;模板加工材料用量快速统计模块,用于对模板的各部分结构赋予材质,快速提取出工程量;模板图纸快速出图模块,用于Revit模型的快速出图;封装功能开发模块,用于Revit软件的二次开发,在Revit内部直接调用相关模型族文件,并对程序进行exe封装。
因对模板模型进行了公式设计,使各模板模型仅通过修改少量主要尺寸参数即可获得符合要求的模板模型,省去人工手动画图,能够显著提高人力成本,让模板模型拼装更加方便快捷。
权利要求书1页 说明书3页 附图1页CN 109918814 A 2019.06.21C N 109918814A权 利 要 求 书1/1页CN 109918814 A1.一种基于Revit软件的模板辅助设计工具的软件插件,其特征在于:包括如下部分:模板快速设计建模模块,用于Revit模型的参数化调整,通过对各模板模型进行公式设计,更改模板模型的属性值来控制模板模型尺寸大小的改变,模板模型的细节调整由软件自动完成。
几个月前,我问ArchSmarter的读者们哪些插件工具能帮他们更好地完成工作。
大家的响应相当热烈!我筛选出了10个最值得推荐的Revit应用。
其中有一些我之前盘点过的插件,也有一下新上榜的插件。
以下就是今年推荐的10个Revit 插件。
1.Coins Auto-Section Box这是目前为止大家推荐最多的插件。
这个工具让剖面框更好用了。
即使Revit 2016引入了类似的剖面框工具,许多ArchSmarter读者还是比较喜欢这个自动剖面框插件。
(下载)。
2. Ideate BIM Link, Explorer,和Sticky你是否经常使用Excel?想要在Revit模型中导入和导出Excel数据?试试IdeateBIM Link(下载)。
这个工具在Excel和Revit之间创建一个链接,用户可以在Excel中,方便地提取和编辑数据。
Explorer(下载)是审查和查询模型数据的工具。
Sticky(下载)用来直接导入Excel表格到Revit。
当你需要在你的Revit 图纸中包含非BIM数据时,这是非常实用的工具。
3. CTC BIM Manager和BIM ProjectSuites这些工具集会帮你自动执行任务,访问BIM数据并更好地管理你的模型。
这个BIM Project Suite(下载)是侧重于日常Revit用户的工具,而BIM Manager Suite (下载)包含的工具专门是针对——你猜对了——BIM管理。
4. Rushforth Tools这是一个节约时间高效率的工具,包含ParameterTransformer(参数转换器)和DraftXL。
(试用版下载)5. Palladio X BIM Windows Layout这是一个简单但高效的工具,帮助你管理和安排所有打开的Revit窗口。
(下载)6. Detail Filter使用Detail Filter(细节过滤器)可以按照更多的细节过滤选择图元,你可以按照类别、族、族类别或部分过滤。
revit插件怎么快速项目族管理?简单快速的操作方法
revit插件怎么快速项目族管理?这个问题其实可以使用有快速项目族管理的revit插件来实现。
有了这样的插件使用可以极大的提高bim工作者的工作效率,今天就使用一款中恒【综合模块】的建模助手插件来快速标高,这是一款新开发基于revit的建模助手插件,简单好用。
具体的操作方法如下:
1、选择【项目族管理】功能。
2、选择一个族类型,点击【复制】按钮后,复制一个新类型。
3、双击某项可以修改名称,属性。
目前仅可修改部分构建。
4、选择一个族类型,点击【删除】按钮后,删除指定族类型、
5、按住Ctrl或者shift可多选族类型点击【批量修改】按钮。
6、弹出批量修改框,可以添加前缀,后缀以及替换关键词。
7、点击【清理按钮】,可将当前前类别下的所有未创建实例的族类型清除。
8、确定按钮为关闭窗体,即推出功能。
以上就是关于revit插件快速项目族管理的做法步骤,插件中的“项目族管理”功能能够做法快速标高,同时还能批量链接,背景切换,局部三维等等日常使用revit需要使用的功能。
【BIM经验】分享两个有
用的REVIT插件
房间整理(自动创建踏脚线及地板面层)
Room Finishing是BIM42工作室最古老的Revit插件。
一、您可以根据房间使用它来模拟踢脚板和地板饰面。
注意踢脚线是根据您选定的一种墙类根据您选定的一种楼板类型来创建。
您还可以在所有可见房间上运行该命令。
时间印章(自动创建构件的时间戳,方便比较文件)
Time Stamper在每个模型元素的共享参数中添加文件名,日期和版本。
有了所有这些信息,您可以:
跟踪复杂项目中每个构件的来源和创作日期
快速比较两个版本的Revit文件并以图形方式显示它们之间的差异
为每个链接的Revit文件创建视图筛选器
创建所有链接模型的计划,以及它们的创作日期和来源
在IFC中导出信息,并将它们放在您最喜欢的项目评审软件上。
以上两个插件均为免费插件,方便快捷。
需要的同学请进入下面的知识星球下载,或者转发本文(朋友圈或微信群或QQ群)后台截图发送链接。
需要海量BIM知识的同学请大力按压下面的二维码入群,几百款知识及软件。
Revit插件丨建模助手更新了,多项功能更新和优化一、综合模块1、水平剖面、垂直剖面支持视图生成前预设值,更加灵活便捷2、实时轴号支持链接文件轴号显示3、图转文字优化识别度,识别更加精准4、导出明细表深度优化,导出更加全面二、土建模块1、基础垫层垫层之间碰撞,相互扣减,更加精确;三、机电模块1、管道放坡支持管线整体随板放坡2、风管连接①三通支持选择方向②四通放置出错修复③功能交互调整3、机电三附件①增加搜索功能②增加对上次选择的显示,便于快速选择4、设备连接优化适配了消防栓多种连接情况5、管线连接①支持管线微调(10mm内的偏差)②新适配3种连接情况6、净高分析①房间分析流程优化,更高的识别率②增加识别CAD停车位图层转楼板③增加一键删除转化后的分析楼板四、出图模块1、批量导出图纸【设置】支持多张CAD导出,拼合到一张图纸中(目前仅支持图纸内有单个视图的情况)温馨提示:该功能当前版本功能不稳定,建议使用前先保存2、一键开洞①支持圆形风管圆形洞口、圆形套管②洞口类型可以选择需要显示为(矩形、圆形洞口还是墙、梁、板洞口)3、洞口标注①支持单个放置以及批量放置②批量放置统一整齐排版4、洞口定位功能重构,支持链接文件定位5、管线标注功能重构,支持计算标高高度、向下距板高度,支持整齐排版,多参数灵活选择6、尺寸定位标注功能重构,新增画线选择(支持链接文件)五、有求必应1、自动避障★★★★★根据指定设置,对碰撞管线进行避让2、管线角度微调★★★★★参照指定线性构件,将管线单根或整段旋转与之平行3、批量喷头★★★★★框选喷淋支管、立管快速生成喷头4、闪念本★★★★★支持局域网(中心文件)多人项目信息共享、协同『重大功能优化』1、有求必应功能支持功能添加快捷键(在【有求必应-功能管理】中设置) 2、剖面生成三维优化生成后的视图范围,更加的精确、细腻3、系统管理修改多个问题,完善功能4、附件旋转适配管件、管道附件、风管管件、风管附件5、管线分隔支持剖面使用百度搜:建模助手,即可找到!。
2016“创新杯”BIM应用设计大赛BIM365 Revit轻量化数据转化插件使用说明(专家网评版)大赛支持及BIM365概述为了辅助2016“创新杯”BIM大赛评审过程中对参赛项目BIM模型的直观审核,确保大赛公平公正的评判,本届大赛引入BIM365平台,将BIM模型轻量化导出到网页端进行展示,作为项目的评审参考材料。
由参赛单位从本地Revit导出后的.pbc文件属于不可编辑的经过加密的轻量化BIM模型,在网络传输和浏览过程中均可确保数据安全。
利用BIM365插件,将Revit软件与BIM365轻量化浏览平台无缝对接,实现流畅的三维模型浏览,并能够承接Revit所创建的建筑、结构、机电、场地等各个专业模型。
BIM 365插件的一键导出功能,操作简单,对Revit工程的楼层、构件类型、链接文件、三维视图、缩略图、属性等实时导出,并支持材质贴图的读取,保持了Revit工程的真实性。
BIM365Revit导出插件操作的三个步骤:1.安装BIM 365插件2.在Revit中打开BIM3653.勾选需导出的多个视图,一键导出1 / 71.BIM 365插件的安装获取插件后,请根据安装向导按步骤操作:当前插件支持Revit2014、2015、2016三个版本。
请选择需要安装的版本:2 / 73 / 74 / 72. 插件图标BIM 365插件安装成功后,打开需要导出的Revit 项目模型,在Tab页签中会生成BIM 365插件的图标,下图是界面示意:3.Revit模型导出1)将Revit模型切换至三维视图下,点击“数据导出”进行导出:当您单击选中的视图不是活动视图、或者活动视图是二维视图时,将会弹出如下对话框,提示切换到三维视图下进行工程导出:2)为导出的轻量化文件命名并选择导出路径:5 / 73)您之前在Revit项目浏览器中按照楼层或者局部空间节点创建保存的多个三维视图,会在导出配置的选择视图中列出,当前打开的三维视图为默认视图,请勾选上其他需要导出的三维视图,然后直接点击“导出”:4)导出过程进度条提示用户导出进程:6 / 77 / 7如上图所示,进度条会提示整个导出过程的8个步骤,以方便用户实时了解整个导出过程: (1) 读取构件信息 (2) 写项目信息(3) 写材质数据 (4) 写几何数据 (5) 写项目树 (6) 写视图数据 (7) 写贴图文件 (8) 写属性注:如果您的项目文件较大或构件较多,可能会导致导出时间较长现象,请耐心等待。
isBIM正式发布Revit本地化功能插件—— isBIM工具集
在建筑设计领域,BIM技术已经得到国内大多数工程企业的认同,而Revit作为BIM技术的重要软件系统,已经在工程建设行业用户中广泛普及与应用。
为了有效提高Revit软件使用者的设计效率,并使之更加符合本地化标准,具有国际先进经验的BIM咨询服务企业——北京互联立方技术服务有限公司(简称互联立方或isBIM)于2012年3月在Autodesk Revit软件基础之上发布了本地化功能插件——《isBIM工具集》。
目前首个公开发布的版本是2012V1版本,可以在Autodesk Revit系列软件的2012版本上运行。
后续版本将根据需求陆续发布。
《isBIM工具集》2012 V1版本的主要功能有Revit MEP及Revit Architecture两个模块,具体功能包括:自动标注墙厚;同心圆弧标注;风管、管道的自动、手动标记;管路避让功能;批量布置喷淋头、与支管连接等;P型、 S型存水弯的生成及布置;批量多管并排标注;碰撞检测信息显示;创建偏移风管、管道;批量添加保温层厚度;局部3D剖视图功能。
《isBIM工具集》具有安装简单、操作便捷、适用性强、与Revit操作界面风格统一等特点,目前供Autodesk Revit系列产品用户免费使用。
下载地址:isBIM官网()
《isBIM工具集》菜单界面
关于isBIM:北京互联立方技术服务有限公司(isBIM)系香港盖德科技集团控股的BIM服务创新基地,isBIM 在全国大部分省份设有分公司或办事处,并在北京、重庆、番禺等地与当地高校合作设立了人才培育基地。
isBIM曾先后与中国建筑设计研究院、中国天辰工程公司、北京市建筑设计研究院等众多工程建设行业用户开展广泛深入的BIM应用合作,isBIM将以打造国际化BIM服务企业为宗旨,与中国工程建设行业实现共赢。