Print at Dec 16, 2025, 12:30:13 PM View all posts in this thread on one page
Posted by scoop7 at Jan 22, 2025, 4:32:12 AM
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("找到窗户的模型");
}
}

HomeDoorOrWindow window = new HomeDoorOrWindow(Window);
window.setDepth(Depth);
window.setWidth(Width);
window.setX(X);
window.setY((Y);
window.setBoundToWall(true);
home.addPieceOfFurniture(window);


Posted by Daniels118 at Jan 24, 2025, 8:14:57 PM
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.