-
Member Statistics
-
Similar Content
-
By Scogginator
Is there a way to write a custom command to auto-place lights?
I've used chat GTP to write code that I'd like to utilize. I have attached a word file and pdf that I need proof read and corrected. I can have that done.
Below is the code, but I'm not sure if it will format correctly:
Sub PlaceLights()
'Ask the user to select the room size and ceiling height
Dim roomWidth As Double
Dim roomLength As Double
Dim roomHeight As Double
roomWidth = InputBox("Enter the width of the room in feet:")
roomLength = InputBox("Enter the length of the room in feet:")
roomHeight = InputBox("Enter the height of the room in feet:")
'Calculate the square footage of the room based on user input
Dim roomArea As Double
roomArea = roomWidth * roomLength
'Determine the recommended lighting level for the room based on the ceiling height and room type
Dim lightLevel As Double
Select Case roomHeight
Case Is <= 8
lightLevel = 10
Case Is <= 9
lightLevel = 20
Case Is <= 10
lightLevel = 30
Case Is <= 12
lightLevel = 40
Case Else
MsgBox "Invalid ceiling height"
Exit Sub
End Select
'Calculate the number of lights needed based on the room size and the recommended spacing
Dim lightSpacing As Double
If roomArea <= 100 Then
lightSpacing = 48
ElseIf roomArea <= 225 Then
lightSpacing = 64
ElseIf roomArea <= 400 Then
lightSpacing = 80
Else
lightSpacing = 96
End If
Dim lightCount As Integer
lightCount = Application.RoundUp((roomWidth + roomLength) / lightSpacing, 0)
'Determine the optimal spacing for the lights based on the room size and ceiling height
Dim xOffset As Double
Dim yOffset As Double
If roomWidth >= roomLength Then
xOffset = lightSpacing
yOffset = lightSpacing * roomLength / roomWidth
Else
xOffset = lightSpacing * roomWidth / roomLength
yOffset = lightSpacing
End If
'Place the lights in a rectangular or square pattern within the room
Dim lightType As String
lightType = InputBox("Enter the light diameter (4 or 6):")
Dim x As Integer
Dim y As Integer
Dim light As Object
For x = 1 To lightCount
For y = 1 To lightCount
Set light = ActiveDocument.CreateLight("Recessed Can Light", lightType & """", "General")
light.Move (x - 1) * xOffset, (y - 1) * yOffset, roomHeight - 48
Next y
Next x
'Generate a report or summary of the lighting plan for the room
Dim report As String
report = "Room Size: " & roomWidth & " ft x " & roomLength & " ft" & vbCrLf
report = report & "Ceiling Height: " & roomHeight & " ft" & vbCrLf
report = report & "Recommended Light Level: " & lightLevel & " lux" & vbCrLf
report = report & "Number of Lights: " & lightCount ^ 2 & vbCrLf
report = report & "Light Spacing: " & lightSpacing & " in" & vbCrLf
report = report & "Light Type: " & lightType & """ Recessed Can Light" & vbCrLf
MsgBox report
Any help would be appreciated.
Thanks,
Jeff
Sub PlaceLights.docx Sub PlaceLights.pdf
-
By gravattedesign
Assistance please.
How can I set imported drawings from the PLAN FILE to have NO BOX BORDER and NO LABEL when sent to Layout?? I have to turn these off with every import to layout. Settings in layout doesnt help since the Template Sheet border in LAYOUT, 0 sheet, uses LAYOUT BOX BORDERS layer for default border line work for that sheet.
Thanks for any help or insight for best practices. PIC attached of a recently imported Elevation (top Left) that illustrates the box border and Label
-
By Allen43
I have been trying to reduce the time I spend on a design, and I realized that there are a few groups of cabinets and panels that I use a lot. I would like to save these cabinets as a group and place them all at once. However, I still need them to be individual cabinets for schedule and modularity purposes. It seems like this is out of Chief's current reach. I just wanted to make sure this wasn't possible before adding it to the suggestions forum.
Oh before I forget an example of when I would want this. Almost every kitchen I design has a cabinet above a fridge supported by two full length panels on either side. I would like to place both panels and the cabinet at the same time. And even the fridge if possible.
-
By Allen43
I'll new to Chief and have learned that this form might be one of the best resources I have ever used. I am trying to streamline my design process and to do that I would love to be able to change cabinet ends to finished or paneled faster and easier. I tried to make a SP to do this, but I couldn't figure it out. I also thought that there might be a way to do this with macros is a SP, but I know even less about macros than I do Chief.
Any help is appreciated, and if it's not possible that's fine I'll know not to spend more time on this.
-
By Allen43
I am new to Chief but so far I love it. Far better than my previous software. So far, the only problem that I have had is using macros to create a custom label for cabinets.
All I am trying to do is get chief's labels to match my manufacture nomenclature. I know I could manually change it on every cabinet, but that seems like to much work and honestly a waste of time. So could someone give me some help. Either a bit of a guide on custom macros and some recourses and documentation (which I, for the life of myself, can't find), or maybe a working-ish or example macro.
Some examples:(chief nomenclature, needed nomenclature)
3DB24, B3D24
U242484L, T2484L
FHB24L, BF24L
Thanks in advance for the help! And if I didn't give enough information or if there is a better way to go about this, please let me know.
Oh, almost forgot. I am running Interiors x14.
-
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now