中国
Joined: Jan 22, 2025
Post Count: 1
Status:
Offline
Automatically add windows and doors
I'm working on a plugin whose purpose is to automate the creation of windows and doors based on the scripts I entered, and I've implemented the basic functionality. But I've encountered a problem: there is a big gap between the door, window and the wall.
I am using IntelliJ IDEA COMMUNITY EDITION 2024.1.4 Here's my core code:
Wall wall = new Wall(x1, y1, x2, y2, width, wallHeight); Home home = getHome(); home.addWall(wall);
UserPreferences userPreferences = getUserPreferences(); FurnitureCatalog furnitureCatalog = userPreferences.getFurnitureCatalog(); FurnitureCategory furnitureCategory = furnitureCatalog.getCategory(3); for (CatalogPieceOfFurniture catalogPieceOfFurniture : furnitureCategory.getFurniture()) { if ("门".equals(catalogPieceOfFurniture.getName())) { Door = new HomeDoorOrWindow((DoorOrWindow) catalogPieceOfFurniture); System.out.println("找到门的模型"); } else if ("窗户".equals(catalogPieceOfFurniture.getName())) { Window = new HomeDoorOrWindow((DoorOrWindow) catalogPieceOfFurniture); System.out.println("找到窗户的模型"); } }
Italy
Joined: Nov 17, 2021
Post Count: 448
Status:
Offline
Re: Automatically add windows and doors
It looks like you have set a value too large for the door depth. How are you computing it?
Look at the source of PlanController class and search for "getWallThickness" to find out how to compute the proper depth and position for a door. The wall thickness and distance are publicly accessible. You may also search the forum for "doorOrWindowWallThickness" to find out more about these values.