Esempio n. 1
0
            lines.append(newline)
        rtn = lines
    else:
        rtn = xcrv

    return rtn


DOC = doc
DWG = Picked_Selection.unwrap()
CRV = []
CRX = []
LAY = []
CLR = []

for abc in DWG.get_Geometry(DB.Options()):
    for crv in abc.GetInstanceGeometry():
        # print(crv.GetType())
        lay = DOC.GetElement(crv.GraphicsStyleId).GraphicsStyleCategory.Name
        ccc = DOC.GetElement(
            crv.GraphicsStyleId).GraphicsStyleCategory.LineColor
        CRX.append(_ConvertRevitCurves(crv))
        CRV.append(crv)
        LAY.append(lay)
        CLR.append(ccc.Green)

OUT = [CRV, CRX, LAY, CLR]

LayedSelection = []
for c, l in zip(CRX, LAY):
    if l == LayerName:
Esempio n. 2
0
# -*- coding: utf-8 -*-
__doc__ = "分析设计中内墙与外墙的量"
import rpw
from rpw import revit, DB, UI, db, doc
from System.Collections.Generic import List
import json
from scriptutils import this_script
from scriptutils.userinput import CommandSwitchWindow
import subprocess as sp
from pyrevit.coreutils.console import charts
# Global Setting
Options = DB.Options()
Options.ComputeReferences = True
#Get Inside Wall And Outside Wall then show in on the Pin Table

selection = rpw.ui.Selection()

SelectedStair = selection[0]

StairGeometry = SelectedStair.get_Geometry(Options)
enum1 = StairGeometry.GetEnumerator()

for i in enum1:
    print(i)
    newenum1 = i.GetInstanceGeometry()
    print(newenum1)
    for i in newenum1:
        print(i)

enum1.MoveNext()
#geo2=enum1.Current.GetInstanceGeometry()
Esempio n. 3
0
import json
import sys

from MyLib import Helper
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument

print(sys.path)
Picked= uidoc.Selection.PickObject(UI.Selection.ObjectType.Face)
PickedElementId=Picked.ElementId
print(PickedElementId)

Picked_Selection=db.Element.from_id(PickedElementId)
#信息输入部分

Picked_Geometry=Picked_Selection.unwrap().get_Geometry(DB.Options())

enum1=Picked_Geometry.GetEnumerator()
print(enum1)

for i in enum1:
	newenum1=i.GetInstanceGeometry()
	for c in newenum1:
		print(c.Faces.Size)
		for m in c.Faces:
			try:
				print(m.Points)
			except:
				pass
	
Esempio n. 4
0
For more information visit http://github.com/gtalarico/revitapidocs
License: http://github.com/gtalarico/revitapidocs/blob/master/LICENSE.md
"""

from rpw import revit, db, ui, DB

LAYER_NAME = 'A-FLOR-OTLN'  # "ENTER_DWG_LAYER_NAME_HERE"

selection = ui.Selection().get_elements(wrapped=False)
dwg_link_instances = [l for l in selection if isinstance(l, DB.ImportInstance)]

if not dwg_link_instances:
    ui.forms.Alert("please select a linked dwg", exit=True)

active_view = revit.doc.ActiveView
geo_opt = DB.Options()
geo_opt.ComputeReferences = True
geo_opt.IncludeNonVisibleObjects = True
geo_opt.View = active_view

geometry = dwg_link_instances[0].get_Geometry(geo_opt)

with db.Transaction("redraw dim_help layer dwg polylines"):
    for geo_inst in geometry:
        geo_elem = geo_inst.GetInstanceGeometry()
        for polyline in geo_elem:
            element = revit.doc.GetElement(polyline.GraphicsStyleId)
            if not element:
                continue

            is_target_layer = element.GraphicsStyleCategory.Name == LAYER_NAME
Esempio n. 5
0
import sys
import clr
import os
import rpw
from rpw import revit, db, ui, DB, UI
from rpw.ui.forms import FlexForm, Label, ComboBox, TextBox, TextBox, Separator, Button, Alert
import json

from MyLib import Helper
doc = __revit__.ActiveUIDocument.Document
uidoc = __revit__.ActiveUIDocument

#pick Surface
Picked = uidoc.Selection.PickObject(UI.Selection.ObjectType.Element)
PickedElementId = Picked.ElementId
Picked_Selection = db.Element.from_id(PickedElementId)

parameter = Picked_Selection.parameters.all

Unwrap_Element = Picked_Selection.unwrap()

Picked_Geometry = Unwrap_Element.get_Geometry(DB.Options())

for i in Picked_Geometry:
    try:
        print(Helper.CovertToM2(i.SurfaceArea))
    except:
        print("bad")

#print(Picked_Geometry)