Scogginator Posted March 22, 2023 Share Posted March 22, 2023 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 Link to comment Share on other sites More sharing options...
Alaskan_Son Posted March 22, 2023 Share Posted March 22, 2023 Sorry, but the information you've received from Chat GPT is total and complete rubbish. It's beyond repair, completely irredeemable and I see nothing in it even remotely worth discussing. I'd say you took a turn onto a dead end except that you didn't even turn onto as road. Its more like you've taken a hard right directly into a brick wall. 2 Link to comment Share on other sites More sharing options...
Scogginator Posted March 22, 2023 Author Share Posted March 22, 2023 Thanks boss Link to comment Share on other sites More sharing options...
Scogginator Posted March 22, 2023 Author Share Posted March 22, 2023 2 minutes ago, Alaskan_Son said: Sorry, but the information you've received from Chat GPT is total and complete rubbish. It's beyond repair, completely irredeemable and I see nothing in it even remotely worth discussing. I'd say you took a turn onto a dead end except that you didn't even turn onto as road. Its more like you've taken a hard right directly into a brick wall. But you're not the answer I'm looking for. I'm looking to answer the question if custom commands are possible in chief. Link to comment Share on other sites More sharing options...
Solution Alaskan_Son Posted March 22, 2023 Solution Share Posted March 22, 2023 1 minute ago, Scogginator said: But you're not the answer I'm looking for. I'm looking to answer the question if custom commands are possible in chief. No. They're not. You could use a macro recorder that will record and simulate things like mouse clicks and keystrokes, but that's nothing like the example you've described. Chief doesn't give us any access to the internals like that. Link to comment Share on other sites More sharing options...
Scogginator Posted March 22, 2023 Author Share Posted March 22, 2023 9 minutes ago, Alaskan_Son said: No. They're not. You could use a macro recorder that will record and simulate things like mouse clicks and keystrokes, but that's nothing like the example you've described. Chief doesn't give us any access to the internals like that. Thank you. That answers it. Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now