SE542725C2 - Method and software for modifying a computer model of a floor plan of a house - Google Patents

Method and software for modifying a computer model of a floor plan of a house

Info

Publication number
SE542725C2
SE542725C2 SE1551105A SE1551105A SE542725C2 SE 542725 C2 SE542725 C2 SE 542725C2 SE 1551105 A SE1551105 A SE 1551105A SE 1551105 A SE1551105 A SE 1551105A SE 542725 C2 SE542725 C2 SE 542725C2
Authority
SE
Sweden
Prior art keywords
attribute
wall
piece
individual part
floor plan
Prior art date
Application number
SE1551105A
Other versions
SE1551105A1 (en
Inventor
Manuel Ernesto Pascal Korell
Martin Bonev
Ronny Andersson
Original Assignee
Achoice Ab
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Achoice Ab filed Critical Achoice Ab
Priority to SE1551105A priority Critical patent/SE542725C2/en
Priority to PCT/EP2016/069804 priority patent/WO2017032744A1/en
Priority to EP16753941.0A priority patent/EP3341910A1/en
Publication of SE1551105A1 publication Critical patent/SE1551105A1/en
Publication of SE542725C2 publication Critical patent/SE542725C2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/16Real estate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/13Architectural design, e.g. computer-aided architectural design [CAAD] related to design of buildings, bridges, landscapes, production plants or roads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Tourism & Hospitality (AREA)
  • Computational Mathematics (AREA)
  • Marketing (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Structural Engineering (AREA)
  • Civil Engineering (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Analysis (AREA)
  • Architecture (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The present invention relates to producing floor plans for houses, and in particular to a method for modifying a computer model of a floor plan of a house taking into account any constraints defined for individual parts of the computer model.

Description

METHOD AND SOFTWARE FOR MODIFYING A COMPUTER MODEL OF A FLOOR PLAN OF A HOUSE Technical field The present invention relates to producing floor plans for houses, and in particular to a method for modifying a computer model of a floor plan of a house taking into account any constraints defined for individual parts of the computer model.
Background of the invention Architecture design describes a knowledge-based process of defining a house solution based on individual customer preferences. Traditionally, architecture design has been organized as a recurring dialogue between the customer (private owner, commercial real estate owner, etc.), architect and possibly other consultants. To ensure the feasibility of the architecture design of a building (house, warehouse, etc.), the transition from conceptual to detailed design is further supported by the advice of contactors, technical consultants and component vendors for e.g. walls, windows, kitchen etc. A feasible design that meets the customer preferences can be created based on the collaboration of the individual parties, also called domain experts, and their experience, i.e. knowledge base, concerning their responsibility. This is a cumbersome, expensive and time consuming process.
In order to reduce the complexity for a customer that wants to build a house, systems exist which provides a limited number of floor plans which all are feasible when it comes to architecture design. In these type of systems, the customer can enter data relating to e.g. size of the building site, number of rooms, number of floors, size of rooms etc. The system then provide a feasible design selected from the limited number of floor plans, which as far as possible meet the preferences of the customer.
US2011213593 (Wilson) describe such a rules-based computer implemented design. However, a problem with such a system is that only a limited number of floor plans (templates) are provided. Each such template requires a substantial amount of work from an architect and builders, vendors etc. as described above, and the customer still can only choose between few general and fixed predefined options.
In other words, a customer can choose between either standard buildings or a customized one done mainly manually through the traditional design process.
Consequently, there is a need for a system which provides the customer with an increased flexibility when defining a floor plan, and which still ensure feasibility of the architecture design outputted by the system.
Summary of the invention In view of the above, an objective of the invention is to solve or at least reduce one or several of the drawbacks discussed above. Generally, the above objective is achieved by the attached independent patent claims.
According to a first aspect, the present invention is realized by a method for modifying a computer model of a floor plan of a house, the computer model comprising a plurality of individual parts arranged in a hierarchy structure, each of the plurality of individual parts comprising one or more pieces of attribute data, each piece of attribute data relating to an attribute of the individual part, wherein at least some of the plurality of individual parts comprises constraints, each constraint defining possible values of a corresponding piece of attribute data, wherein the plurality of individual parts comprises a first and a second individual part, the first individual part comprising a first attribute, and the second individual part comprising a second attribute, wherein the first individual part comprises a first constraint defining possible values of a piece of attribute data relating to the first attribute, wherein the second individual part comprises a second constraint defining possible values of a piece of attribute data relating to the second attribute, wherein the second constraint is connected to the first attribute, such that altering the piece of attribute data relating to the first attribute may incur altering of the possible values of the piece of attribute data relating to the second attribute defined in the second constraint, wherein the modification of the computer model is directed to the first individual part, the method comprises: - determining that the modification will alter the value of the piece of attribute data relating to the first attribute, - determining that modification will alter the possible values of the piece of attribute data relating to the second attribute as defined in the second constraint, - determining that the piece of attribute data relating to the second attribute will have a value which is not a possible value according to the second constraint, - automatically adjust the value of the piece of attribute data relating to the second attribute so the adjusted value is a possible value according to the second constraint, - continuing with the modification of the first individual part.
According to a generalized view of the invention, there is provided a method for modifying a computer model of a floor plan of a house, the computer model comprising a plurality of individual parts arranged in a hierarchy structure, each of the plurality of individual parts comprising one or more pieces of attribute data, each piece of attribute data relating to an attribute of the individual part, wherein at least some of the plurality of individual parts comprises constraints, each constraint defining possible values of a corresponding piece of attribute data, wherein the plurality of individual parts comprises a first and a second individual part, the first individual part comprising a first attribute, and the second individual part comprising a second attribute, wherein the first individual part comprises a first constraint defining possible values of a piece of attribute data relating to the first attribute, wherein the second individual part comprises a second constraint defining possible values of a piece of attribute data relating to the second attribute, the method comprises: - determining that the modification will alter a piece of attribute data to which the first or second constraint correspond, - determining that the altered piece of attribute data will have a value which is not a possible value according to the first or the second constraint, - aborting the modification.
It should be noted that the method also may comprise the steps of: - determining that the modification will alter a piece of attribute data to which the first or second constraint correspond, - determining that the altered piece of attribute data will have a value which is a possible value according to both the first or the second constraint, - continuing with the modification.
Generally, in the below description, most examples and embodiments relate to occasions where a piece of attribute data is altered to have a value which is not a possible value according to a constraint. However, the examples should be interpreted to also include the occasions where a piece of attribute data is altered to have a value which is a possible value according to all constraints, which means that the modification may not be aborted.
It should also be noted that if the altered piece of attribute data does not correspond to a constraint, the modification may be accepted.
The modification may be directed to the individual part comprising the first or second constraint, i.e. to the first or second individual part itself, or it may be directed to another individual part of the plurality of individual parts of the house, wherein the modification of the other individual part indirectly causes alteration of the piece a piece of attribute data to which the first or second constraint correspond.
The present invention is based upon the realization that for a floor plan of a house, there exist a number of constrains that need to be complied with in order to have a feasible architecture design. Such constrains may origin from guidelines defining what “good” architecture are, e.g. a room intended to be a bedroom should not be a long and narrow room, a room intended for laundry should not be placed directly adjacent to a room intended to be used as a living room, a bedroom should comprise at least one window etc. Other examples of such constraints comprises e.g. that the living room should be placed towards the garden, or that there should exist a door between the kitchen and the laundry.
The constraints may also origin from regulatory demands on the floor plan of a house, e.g. that all spaces (rooms and corridors) in a house must be large enough for a wheel chair to turn around in, regulations relating to fire escape possibilities, regulations relating to energy requirements or safety requirements, etc.
Moreover, the constraints may origin from a technical design point of view, e.g. there must exist a certain distance between two windows in a wall in order to ensure that the required structural strength (e.g. bearing capacity) of the wall is not compromised. The constraints may further origin from cost demands for parts of the building, or the entire building. A constraint may also origin from possible positions of the building on the construction site or plot.
It is also envisaged that the constrain may origin from a design point of view, i.e. what type of colors that fit together, what type of bathroom furniture that fit together etc.
By implementing such constraints where needed for individual parts of the computer model of the floor plan, a customer can adjust the floor plan according to his or hers individual preferences, and still rely on the feasibility of the architecture design of the adjusted floor plan.
By the term “computer model of a floor plan” should, in the context of present specification, be understood a computer representation of the floor plan made in any suitable software, for example a Computer-aided design (CAD) software or a configuration software. The individual parts of the computer model are arranged in a hierarchy structure. For example, the computer model comprises the house which may be considered as the top node of the hierarchy structure. The house may comprise a number of modules, for example a bedroom module, living room module and a kitchen module. Such modules may thus be child nodes of the top node. Each module comprises individual rooms and further spaces such as corridors, which are child nodes of the respective module node. Each room comprises walls; a wall may comprise a window, etc. A kitchen may comprise a stove, a refrigerator etc. In this way, a hierarchy structure of the floor plan is organized, which thus comprises a plurality of individual parts. In other words, by the term “individual part” should, in the context of present specification, be understood any part that a floor plan may comprise, e.g. a room, a wall, a toilet, a window, an electrical plug, a radiator, a roof, a foundation etc.
It should be noted that the term “floor plan” should be interpreted as describing the interior layout and/or the exterior layout of a house. By layout it should be understood relationships between rooms, spaces and other physical features at one level of a house. A floor plan may be a 2D representation of a level of a house, or it may be a 3D representation of a level of a house.
Each individual part has one or more attributes, and the values of those attributes are stored in pieces of attribute data. An attribute may be any definition of the individual part. For example, if the individual part is a window, then an attribute may be position of the window on a wall, height of the window, length of the window, color of the window frame, type of the window, vendor of the window, cost of the window, delivery time of the window, U-value of the window etc. The value of each attribute, stored in the attribute data connected to the concerned attribute, may be a point (x, y) defining a position, and integer defining the height, an integer defining the length, a text defining the color etc.
Each individual part may further comprise constraints defining the possible values of a corresponding piece of attribute data. For example, if the attribute is the color of the window, the constraint of that attribute, defining possible values of the piece of attribute data relating to the color attribute of the window may define a list of selectable colors, e.g. white, brown and black. If the attribute is the length of the window, the constraint for possible values may define an interval of feasible lengths of a window from an architecture point of view. This interval may further be mapped on available sizes of a window for the selected vendor of the window.
In some systems, a constraint is named a rule.
In the following description of example embodiments of the inventions, a first and a second individual part are described in order to set out different possible embodiments, possibilities, advantages and definitions of the method for modifying a computer model of a floor plan of a house. Each individual part has an attribute and a corresponding constraint defining possible values for the piece of attribute data of the attribute.
So, when a user modifies computer model of a floor plan, it can be determined if the modification will alter a piece of attribute data to which a constraint corresponds. If no such piece of attribute data is altered, the modification may be performed without further considerations, or by considering other limitations of the individual parts of the computer model as will be described below. However, if it is determined that the modification will alter a piece of attribute data to which a constraint correspond, it may further be determined if the altered piece of attribute data will have a value which is not a possible value according to constraint of the attribute data. If the altered piece of attribute data is still having a possible value according to the constraint of the attribute data, the modification may be performed without further considerations, or by considering other limitations of the individual parts of the computer model as will be described below. However, if it is determined that the altered piece of attribute data will have a value which is not a possible value according to the constraint, the modification can be aborted. In this way, it may be ensured that no modification is made which is not recommended as described above.
With this invention, a user can define a feasible architecture design through software according to his or hers individual preferences, without having any special knowledge regarding guidelines for good architecture, regulatory demands on floor plans or technical design requirements on the structure of a house. By disallowing any adjustment that would lead to breakage of any of the above rules/guidelines, the user can perform these adjustments without advice from outside domain experts.
According to some embodiments, the first attribute of the first individual part is connected to the second attribute of the second individual part such that altering the piece of attribute data relating to the first attribute will incur altering of the piece of attribute data relating to the second attribute. For example, by modifying a size of a room, the sizes of the walls of the room are also modified accordingly. When the size of a wall comprising a window is adjusted, so is the distance from the window to at least one corner of the room. So when the first individual part is adjusted in any way, and it is determined that the modification will alter the value of the piece of attribute data relating to the first attribute, it needs to be determined if the dependent piece of attribute data relating to the second attribute as a consequence have a value which is not a possible value according to the second constraint. In this case, the modification of the first individual part is aborted. By connecting attributes for different individual parts of the computer model together, the system of ensuring that no individual part gets a value which is not allowed is simplified and streamlined. By automatically checking each modification of attributes during a cascading modification of attribute values against constraints of the modified attributes, the complexity of ensuring that no rule/guideline is broken is reduced.
According to some embodiments, the first individual part is not a descendent to the second individual part in the hierarchy structure. By allowing connections between attributes and/or constraints of individual parts which do not directly map to the dependency of individual parts in the hierarchy structure, the flexibility of the method for modifying a computer model of a floor plan of a house is increased. For example, the first individual part may correspond to a first wall of a first room of the floor plan, and the second individual part may correspond the a second wall of a second room of the floor plan, wherein the first and the second room are adjacently positioned in the floor plan, wherein the first wall of the first room and the second wall of the second room corresponds to a shared wall between the first and the second room. In this case, some modifications, e.g. of the size of the first wall, material of the first wall etc., needs to be reflected for the second wall. For example, if the first room is a bathroom of the house which may have one set of constraints relating to material of the walls, the size of the room etc., while the second room is a bedroom of the house which may have another set of constraints relating to material of the walls, the size of the room etc., a shared wall of the two rooms must meet the constraints for both rooms. By allowing the above described connection between attributes of individual parts, the value of attributes for e.g. the size of the bathroom may be individually modified without risking that another part of the floor plan, e.g. the adjacent bedroom, will have attribute values (size etc.) which do not meet regulations/guidelines etc.
A further example of connected attributes/constraints between individual parts not mapping to the dependency of individual parts in the hierarchy structure is a single opening in a shared wall which needs to be at the same position in the wall no matter if the user modifies the bathroom or the bedroom. Yet another example is the placement of a window both in relation to the interior and the exterior of the house, i.e. the placement of the window of the interior wall and on the exterior wall of the house.
According to some embodiments, the piece of attribute data relating to the second attribute is locked for modification. In case the modification of the computer model is directed to the first individual part, and it is determined that the modification will alter the value of the piece of attribute data relating to the first attribute (which will incur altering of the piece of attribute data relating to the second attribute which is locked for modification), the modification of the first individual part is aborted. For example, the user may be ready and satisfied with the modification of a first room and thus wants no further modification of attributes of this room to take place. In that case, the user can lock attributes of the first room, e.g. values relating to the size of the room, such that these attributes cannot be modified. In case the user subsequently tries to modify an attribute connected to the locked attributes, such a modification can be disallowed. By allowing such locking of an attribute of an individual part, the user can modify other parts of the floor plan without further considering if such modification may change parts of the house which he/she is satisfied with.
According to some embodiments, locking a specific individual part of the computer model of the floor plan may lock all individual parts being descendent to the specific individual part in the hierarchy structure.
According to some embodiments, the piece of attribute data of the second attribute is locked for modification, wherein the modification of the computer model is directed to the first individual part, wherein the method further comprises the steps of: - determining that the modification will alter the value of the piece of attribute data relating to the first attribute, - requesting a confirmation from a user that the modification should be completed, - receive data indicating an answer from the user, - determining if the answer is affirmative or negative, and - if the answer is determined to be affirmative, continuing with the modification of the first individual part, - if the answer is determined to be negative, aborting the modification of the first individual part.
Such an embodiment may advantageously give the user a greater flexibility when it comes to locking attributes and adjusting connected attributes. The user may thus override previously made decision to lock attributes and their values from editing (modification).
According to some embodiments, a constraint of an individual part may be connected to an attribute (and its value) of another individual part. In other words, the second constraint may be connected to the first attribute, such that altering the piece of attribute data relating to the first attribute may incur altering of the possible values of the piece of attribute data relating to the second attribute defined in the second constraint. For example, for security reasons it may be required that an electrical plug of a bathroom is placed with a minimum distance to running water in the bathroom. So if a position of the sink of the bathroom is modified, this may mean that the constraints for where the electrical plug may be positioned in the bathroom are modified. Another example is if the size of the bathroom is reduced, the constraints for the size of a bath tub in the bathroom may also be adjusted in order to have enough room for a wheel chair to turn around on the floor of the bathroom.
In this case, wherein the modification of the computer model is directed to the first individual part, the method may comprise: - determining that the modification will alter the value of the piece of attribute data relating to the first attribute, - determining that modification will alter the possible values of the piece of attribute data relating to the second attribute as defined in the second constraint, - determining that the piece of attribute data relating to the second attribute will have a value which is not a possible value according to the second constraint, - aborting the modification of the first individual part.
So if a constraint of a attribute is modified such that the value (piece of attribute data) of the attribute do no longer meet the constraint, the modification of the individual part resulting in the modification of the constraint may be aborted (which will result in that the modification of the constraint is reverted and the constraint is left as it was).
According to some embodiments, for the above situation, automatic modification the value of the piece of attribute data relating to the second attribute may be employed, so the modified value is a possible value according to the second constraint. After such automatic modification, the modification of the first individual part may be completed.
For the above described example of the size of the bathroom and the size of the bathtub, the size of the bathtub may be automatically adjusted when the size of the bathroom is adjusted such that enough space for turning around a wheel chair in the bathroom still exists.
According to some embodiments, the first individual part corresponds to a part of the floor plan positioned on a first wall of a first room of the floor plan, wherein the second individual part corresponds to a part of the floor plan positioned on a second wall of the first room of the floor plan. For example, the first individual part may correspond to a first window positioned on the first wall, and the second individual part may correspond to a second window positioned on the second wall, wherein the first attribute relates to the position of the first window on the first wall, and wherein the second attribute relates to the position of the window on the second wall. In order to meet requirement of structural strength of the walls of the room, a certain distance between windows may be required. Such distance may span over a corner of the house. In this case, modification of the first window towards the corner between the first and the second wall may result in that the possible positions of the second window of the second wall are modified so that the minimum distance to the corner from the second window is increased.
In a second aspect, the present invention provides a computer program product comprising a computer-readable storage medium with instructions adapted to carry out the method of the first aspect when executed by a device having processing capability.
The computer program product may output any of: CAD models of the floor plan, building permit documents for the floor plan, cost estimation for building the house, lead time for building the house, construction instructions for building the house, building code requirements such as energy performance, construction design etc.
The computer program product may be implemented as a part of existing drawing software such as any CAD software, or it may be an independently developed computer program product.
The second aspect may generally have the same features and advantages as the first aspect.
Brief description of the drawings The above, as well as additional objects, features and advantages of the present invention, will be better understood through the following illustrative and non-limiting detailed description of embodiments of the present invention, with reference to the appended drawings, where the same reference numerals will be used for similar elements, wherein: figure 1 shows by way of example a floor plan according to embodiments, figure 2 shows by way of example how individual parts of the floor plan can be locked for modification, figure 3 shows by way of example a floor plan according to embodiments.
Detailed description of embodiments Some embodiments according to the present invention will now be described in conjunction with the schematic floor plan 100 shown in figure 1. The floor plan 100 shows a part of house 102 which comprises two rooms 104, 106 and a corridor 108. The first room is a bedroom 104, and the second room is a bathroom 106. In this example, the hierarchy structure of the computer model of the floor plan 100 comprises a top node which is the house 102 in itself. The top node is connected to three child nodes, which are the two rooms 104, 106 and the corridor 108. The bedroom 110 has a child node which is the wall 110, and the bathroom has a child node which is the wall 112. The rooms 104, 106 and the corridor 108 each have further child nodes such as other walls, windows etc. but these will not be described further in this example. The computer model thus comprises six individual parts, a house 102, a bedroom 104 having a wall 110, a bathroom 106 having a wall 112 and a corridor 108. The house 102, the rooms 102, 104 and the corridor 108 each has an attribute 122, 124, 132, 134 describing the length of the respective individual part, and an attribute 120, 126, 128, 130 describing the width of the respective individual part. Other attributes exist but are not further described here. The value of an attribute is described in a piece of attribute data, each of the individual parts 102, 104, 106, 108 comprising pieces of attribute data. In this example, the house 102, the bedroom 104 and the bathroom 106 comprises constraints relating to the width 120, 126, 128, and length 122, 124, 134 of the individual part while the corridor only comprises a constraint relating to the width 132 of the corridor. The constraints may have different origins and reasons. For example, since the bedroom 104 in this example is a master bedroom of the house 102, the bedroom 104 should, according to guidelines defining what “good” architecture look like, be larger than e.g. 400*400 cm (width*length) in order to accommodate a king size bed. The bathroom 106 may have similar constraints, but here the minimum size may be 300*300 cm. The corridor 108 may have a constraint describing possible values of the width 128 of the corridor in order to be adapted to disabled persons, which for example can means that the width 128 may not fall below 100 cm. Moreover, the part of the house 102 cannot be larger than 750*800 cm in order to fit on the available building site area. These constraints are merely by way of example and other constraints relating to the size are equally possible.
The wall 110 and the wall 112 comprise an attribute 136, 138 each, which describe a position of the wall in the house. The walls 110, 112 each comprises a constraint for this point 136, 138 which relate to the sizes of the rooms 104, 106 respectively.
This floor plan 100 is presented, in software, to a user who is planning on building a house. The user wants to make some modifications of the floor plan and starts by reducing the width 128 of the corridor 108 from the current width of 125 cm. The modification will thus alter a piece of attribute data having a constraint. The user reduces the width 128 of the corridor to 75 cm, and the software thus, after determining that that the altered piece of attribute data will have a value which is not a possible value according to the constraint of the width 128 of the corridor 108, will abort the modification. The user may according to some embodiments be notified about the reason to why the modification was not completed. The width 128 of the corridor 108 may be kept as it was before the modification started i.e. 125 cm, or the width 128 may be modified to the minimum value of the constraint i.e. 100 cm.
Next, the user wants to enlarge the bedroom length 122. The user thus moves the left wall of the bedroom 104 such that the length 122 is increased from 500 to 600 cm. This size is within the range of possible values according to the constraint of the length 122 of the bedroom 104. However, the length attribute 122 of the bedroom 104 is connected to the length attribute 134 of the house 102 such that altering the piece of attribute data relating to the length 122 of the bedroom 104 will incur altering of the piece of attribute data relating to the length 134 of the house 102. So even if the modification of the computer module is directed to the bedroom 104, the software may, after determining that the modification will alter the value of the piece of attribute data relating to length 122 of the bedroom 104, determine that the piece of attribute data relating to the length 134 of the house 102 will have a value (e.g. 820 cm) which is not a possible value according to the constraint of the length 134 of the house 102 and thus abort the modification of the size of the bedroom. The user may be notified as described above, and the size of the bedroom104 may be kept as it was, or it may be modified such that the length 134 of the house 102 still meets the constraint.
The user may want to modify the ratio between the size of the bedroom 104 and the bathroom 106. This may be done by moving the walls 110, 112 in the floor plan 100. In this case, a first individual part corresponds to the wall 110 of the bedroom 104 of the floor plan 100, and a second individual part correspond the wall 112 of the bedroom 106 of the floor plan 100, wherein the bedroom 104 and the bathroom 106 are adjacently positioned in the floor plan 100, wherein the wall 110 of the bedroom 104 and the wall 112 of the bathroom 106 corresponds to a shared wall between the rooms 104, 106. An first attribute 136 of the position of the wall 110 is connected to a second attribute 138 of the wall 112 part such that altering the piece of attribute data relating to the first attribute 136 will incur altering of the piece of attribute data relating to the second attribute 138. However, when the user moves the wall, the software checks so none of the rooms 104, 106 will have sizes that fall below the constraints relating to length 122, 124 of the rooms described above. In case this happens, the modification of the wall 110 (or wall 112) will be aborted.
According to some embodiments, the attribute with constraints may relate to a single opening 138 in the shared wall 110, 112. The opening of e.g. the wall 110 must correspond to the opening of the other wall 112.
The software may comprise possibilities to lock individual parts of the floor plan for modification. Figure 2 describe by way of example such scenario for the floor plan 100 of figure 1. Consequently, the first attribute 136 of the position of the wall 110 is connected to the second attribute 138 of the wall 112 part such that altering the piece of attribute data relating to the first attribute 136 will incur altering of the piece of attribute data relating to the second attribute 138. However, in this scenario, the user has previously locked the position 138 of the wall 112 (symbolized by the locking symbol 202). In other words, the piece of attribute data (value for the position 138 of the wall 112) relating to the second attribute (position 138 of the wall 112) is locked for modification. When the user subsequently tries to modify the wall 110 of the bedroom 104 by e.g. moving it, the software thus will determine that the modification will alter the value of the piece of attribute data relating to the first attribute 136 of the wall 110 (which will incur altering of the piece of attribute data relating to the second attribute 138 of the wall 112), and thus abort the modification of the wall 110. According to some embodiments, the user may be able to lock the entire bathroom 106 (symbolized by the locking symbol 204) which in turn will lock all individual parts of the floor plan 100 being decedents to the node of the bathroom 106 in the hierarchy structure of the computer model. In this case, also the attribute 138 of the wall 112 will be locked and the same procedure as described above may take place.
According to some embodiments, when the user tries to, indirectly or directly, modify parts of the floor plan 100 which are locked for modification, the software may request a confirmation from a user that the modification should be completed. So, for the example of figure 2, if the user tries to move the wall 110 of the bedroom 104 (which indirectly will modify the locked attribute 138 of the wall 112), the software may request a confirmation regarding if the modification should be completed or not. When the user answers, the software will continue with the modification of the wall 110 if the answer is affirmative, and abort with the modification of the wall 110 if the answer is negative.
Figure 3 shows the bedroom 104 and the bathroom 106 of the floor plan 100 of figure 1. According to some embodiments, the method for modifying a computer model of a floor plan of a house, and the software implementing the method, may comprise connections between a constraint (relating to a first attribute) and a second attribute for which the constraint do not define possible values of a piece of attribute data. According to these embodiments, altering the piece of attribute data relating to the first attribute may incur altering of the possible values of the piece of attribute data relating to the second attribute defined in the second constraint.
In figure 3, the bedroom 104 comprises three windows 308, 310, 312 (being individual parts of the computer model). Each of the windows 308, 310, 312 comprises an attribute 302, 304, 306 which relate to a distance from a respective window 308, 310, 312 to the top left corner of the bedroom 104. The rightmost window 312 of the bedroom 104 further comprises an attribute 305 which relate to a distance from the window 312 to the top right corner of the bedroom 104. The bathroom 106 comprises a window 314 which has an attribute which relate to a distance from the window 314 to the top left corner of the bathroom 106. As described above, in order to meet requirement of structural strength of the walls of the rooms 104, 106, a certain distance between windows may be required. Such distance may span over a corner between two walls e.g. a distance between the window 308 of the left wall of the bedroom 104 and the left window 310 of the top wall 316 of the bedroom. Such distance may also span over a single wall, e.g. a distance between the left 310 and the right 312 window of the top wall 316 of the bedroom 104. Such distance may further span over two walls, one in the bedroom 104 and one in the bathroom 106. Since the two rooms 104, 106 are adjacently positioned in the floor plan; such two walls form a straight single wall, e.g. the top wall 316 of the bedroom 104 in the floor plan 100 and the top wall 318 of the bathroom 106 in the floor plan 100.
For example, if the user modifies the floor plan 100 by moving the window 310 to the right, the distance between the two top windows 310, 312 of the bedroom 104 is reduced. The constraint of far from the top left corner of the bedroom the window 312 must be positioned, i.e. the constraint defining possible values of piece of attribute data relating to the attribute 306, is among other things based on the required distance between the windows 310, 312. This means that when user modifies the floor plan 100 by moving the left window 310 to the right, this may incur altering of the possible values of the piece of attribute data relating to the attribute 306 defined in the constraint of the right window 312 such that the constraint only define such possible values that ensures the required minimum distance between the two windows 310, 312. So, when the modification of the computer model is directed to the window 310, the software performs the following checks. First, it determines that the modification will alter the value of the piece of attribute data relating to the first attribute 304. If this is true, it is then determined if that modification will alter the possible values of the piece of attribute data relating to the second attribute 306 as defined in the constraint of the window 312. If such possible values are altered, it is then determined if the piece of attribute data relating to the second attribute 306 will have a value which is not a possible value according to the second constraint, i.e. if the right window 312 is too far to the left in order to have a required minimum distance to the left window 310. If this is true, the modification of the window 310 may be aborted. According to some embodiments, instead of aborting the modification of the left window 310, the software may automatically modify the value of the piece of attribute data relating to the second attribute 306 so the modified value is a possible value according to the second constraint, i.e. the software may automatically move the right window 312 a bit to the right such that a required minimum distance to the left window 310 is kept.
Modifications of the other windows of figure 3 may be handled in a similar way. For example, the first individual part may correspond to a first window 308 positioned on a first wall of the bedroom 104, and the second individual part may correspond to a second window 310 positioned on the second wall 316, wherein the first attribute 302 relates to the position of the first window 308 on the first wall, and wherein the second attribute 304 relates to the position of the second window 310 on the second wall 316. In order to keep a required minimum distance between the windows 308, 310, moving the vertically placed window 308 of the floor plan 100 upwards may result in altering of the possible values of the piece of attribute data relating to the second attribute 304 (e.g. position on the wall, distance to the top left corner etc.) defined in the constraint of the horizontally placed window 304. In case the horizontally placed window 310 is positioned to far to the left to meet the altered constraint, the modification of the vertically placed window 308 in the floor plan 100 may be aborted, or the distance 304 to the top left corner from the horizontally placed window 310 in the floor plan 100 may be automatically adjusted to meet the altered constraint.
A further example is if the user wants to modify the right most window 312 of the bedroom 104 by moving the window 312 to the right. In order to keep a required minimum distance between the moved window 312 and the window 314 of the bathroom, such modification may be aborted or the window 314 of the bathroom may be automatically moved to the right as described above.
As described above, constraints may relate to energy consumption requirements of the house 102, wherein the energy consumption being an attribute of the house 102 having a constraint. For example, if the user wants to modify a size of a window 310, 312, 314, the software may be arranged to check if the new window size will alter the piece of attribute data relating to the energy consumption attribute of the house such that altered piece of attribute data will have a value which is not a possible value according to the energy consumption constraint of the house, and in that case abort the modification of the size of the window 310, 312, 314.
Other examples of connection of constraints and attributes exist. For example, if the type (being an attribute) of a wall is changed from an outer wall to an inner wall, this may change the selectable materials (another attribute) for the wall according to a constraint of the wall relating to the selectable materials of the wall.
Further, it should be noted that the described structure of the floor plan and the individual parts of the floor plan, the structure being object-based, with classes and parts representing objects, expressed through attributes, attribute data and constraints, facilitate reuse of specific parts, rooms, modules etc. across different floor plans since the already defined constraints, attributes and attribute data can be copied to the new floor plan. Each individual part may inherit the characteristics of a generic class of the individual part (window, wall etc) through the attribute and attribute data, which are specific for the specific generic class. And when for example a vendor of an inner wall is selected, attribute data such as a particular thickness, lead time, cost, price and U-value may be used for the wall.
Consequently specific individual parts from different vendors differ in their particular attribute data, whereas the attribute remain the same.
Moreover, by including a cost attribute for each individual part of the floor plan, wherein the piece of attribute data for the cost attribute is automatically updated if the material, size, vendor/manufacturer etc. of the individual part is modified, the present structure of the software for modifying a computer model of a floor plan can be used for always presenting an updated price for the floor plan when a modification is performed. If a lead time attribute is included for each individual part whose corresponding piece of attribute data is updated when something is modified for the individual part, the present structure of the software for modifying a computer model of a floor plan can be used for always presenting an updated lead time for the floor plan when a modification is performed.
The present invention can also be used for immediately creating a building permit application, since the constraint based approach may ensure that the floor plan has a feasible architecture design.
The present disclosure contemplates methods and program products on any machine-readable media for accomplishing various operations. The embodiments of the present disclosure may be implemented using existing computer processors, or by a special purpose computer processor for an appropriate system, incorporated for this or another purpose, or by a hardwired system. Embodiments within the scope of the present disclosure include program products comprising machine-readable media for carrying or having machine-executable instructions or data structures stored thereon. Such machine-readable media can be any available media that can be accessed by a general purpose or special purpose computer or other machine with a processor. By way of example, such machine-readable media can comprise RAM, ROM, EPROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code in the form of machine-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer or other machine with a processor.
When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a machine, the machine properly views the connection as a machine-readable medium. Thus, any such connection is properly termed a machine-readable medium. Combinations of the above are also included within the scope of machine-readable media. Machineexecutable instructions include, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing machines to perform a certain function or group of functions.

Claims (7)

1. A method for modifying a computer model of a floor plan (100) of a house (102), the computer model comprising a plurality of individual parts (102, 104, 106, 108, 110, 112, 308, 310, 312, 314) arranged in a hierarchy structure, each of the plurality of individual parts comprising one or more pieces of attribute data, each piece of attribute data relating to an attribute (120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 302, 304, 305, 306, 307) of the individual part, wherein at least some of the plurality of individual parts comprises constraints, each constraint defining possible values of a corresponding piece of attribute data, wherein the plurality of individual parts comprises a first (110) and a second (112) individual part, the first individual part (110) comprising a first attribute (136), and the second individual part (112) comprising a second attribute (138), wherein the first individual part (110) comprises a first constraint defining possible values of a piece of attribute data relating to the first attribute (136), wherein the second individual part (112) comprises a second constraint defining possible values of a piece of attribute data relating to the second attribute (138), wherein the second constraint is connected to the first attribute (136), such that altering the piece of attribute data relating to the first attribute (136) may incur altering of the possible values of the piece of attribute data relating to the second attribute (138) defined in the second constraint, wherein the modification of the computer model is directed to the first individual part (110), the method comprises: - determining that the modification will alter a value of the piece of attribute data relating to the first attribute (136), - determining that modification will alter the possible values of the piece of attribute data relating to the second attribute (138) as defined in the second constraint, - determining that the piece of attribute data relating to the second attribute (138) will have a value which is not a possible value according to the second constraint, - automatically adjust the value of the piece of attribute data relating to the second attribute (138) so the adjusted value is a possible value according to the second constraint, - continuing with the modification of the first individual part.
2. The method of claim 1, wherein the first individual part (110) is not a descendent to the second individual part (112) in the hierarchy structure.
3. The method of claim 2, wherein the first individual part corresponds to a first wall (110) of a first room (104) of the floor plan, wherein the second individual part correspond the a second wall (112) of a second room (106) of the floor plan, wherein the first (104) and the second (106) room are adjacently positioned in the floor plan (100), wherein the first wall (110) of the first room (104) and the second wall (112) of the second room (106) corresponds to a shared wall between the first (104) and the second room (106).
4. The method of claim 3, wherein the first and second attribute relates to a single opening (138) in the shared wall (110,112).
5. The method of claims 1 or 2, wherein the first individual part (308) corresponds to a part of the floor plan (100) positioned on a first wall of a first room (104) of the floor plan (100), wherein the second individual part (310) corresponds to a part of the floor plan positioned on a second wall of the first room (104) of the floor plan (100).
6. The method of claim 5, wherein the first individual part corresponds to a first electrical plug positioned on the first wall, wherein the second individual part corresponds to a second electrical plug positioned on the second wall, wherein the first attribute relates to the position of the first electrical plug on the first wall, and wherein the second attribute relates to the position of the second electrical plug on the second wall.
7. A computer program product comprising a computer-readable storage medium with instructions adapted to carry out the method of any one of claims 1-6 when executed by a device having processing capability.
SE1551105A 2015-08-26 2015-08-26 Method and software for modifying a computer model of a floor plan of a house SE542725C2 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
SE1551105A SE542725C2 (en) 2015-08-26 2015-08-26 Method and software for modifying a computer model of a floor plan of a house
PCT/EP2016/069804 WO2017032744A1 (en) 2015-08-26 2016-08-22 Method and software for modifying a computer model of a floor plan of a house
EP16753941.0A EP3341910A1 (en) 2015-08-26 2016-08-22 Method and software for modifying a computer model of a floor plan of a house

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
SE1551105A SE542725C2 (en) 2015-08-26 2015-08-26 Method and software for modifying a computer model of a floor plan of a house

Publications (2)

Publication Number Publication Date
SE1551105A1 SE1551105A1 (en) 2017-02-27
SE542725C2 true SE542725C2 (en) 2020-06-30

Family

ID=56740256

Family Applications (1)

Application Number Title Priority Date Filing Date
SE1551105A SE542725C2 (en) 2015-08-26 2015-08-26 Method and software for modifying a computer model of a floor plan of a house

Country Status (3)

Country Link
EP (1) EP3341910A1 (en)
SE (1) SE542725C2 (en)
WO (1) WO2017032744A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110750825B (en) * 2019-09-27 2023-04-07 贝壳技术有限公司 Indoor household arrangement method and device, electronic equipment and storage medium
CN114626122B (en) * 2022-01-14 2024-04-26 上海品览数据科技有限公司 Automatic arrangement method of stairwell radiator in heating main pipe plan view of heating and ventilation major

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7869981B2 (en) * 2004-11-19 2011-01-11 Edgenet, Inc. Automated method and system for object configuration
US20110213593A1 (en) 2009-11-26 2011-09-01 Wilson Peter B Rules based design system
WO2013074836A1 (en) * 2011-11-15 2013-05-23 Ekotrope, Inc. Green building system and method

Also Published As

Publication number Publication date
SE1551105A1 (en) 2017-02-27
EP3341910A1 (en) 2018-07-04
WO2017032744A1 (en) 2017-03-02

Similar Documents

Publication Publication Date Title
US11907620B2 (en) Smart plans
US20210383033A1 (en) Structural construction system employing architectural modeling
Granadeiro et al. Building envelope shape design in early stages of the design process: Integrating architectural design systems and energy simulation
JP6076132B2 (en) Joinery selection processing device, joinery selection system, and program
Beazley et al. Enhancing energy efficiency in residential buildings through the use of BIM: The case for embedding parameters during design
CA2908924C (en) Automatically resolving boundaries within an architectural design environment
JP7248696B2 (en) Methods, Systems, and Graphical User Interfaces for Building Design
Eloy et al. A transfformation grammar for housing rehabilitation
US10430525B2 (en) Reconfigurable spaces
US20100145665A1 (en) Smart content and placement in a computer-aided design application
EP3341910A1 (en) Method and software for modifying a computer model of a floor plan of a house
Alexandrou et al. Heritage-BIM for energy simulation: a data exchange method for improved interoperability
JP2008204255A (en) Construction estimate processing system
US20220350938A1 (en) System, method and computer program product for efficient design of buildings
KR20100005517A (en) Finish modeling automation system and method of the same
TWI766223B (en) Design method of elderly residential bathroom element
KR100402849B1 (en) System and method for spatial layout planning over the web
Bringolf Barriers to universal design in Australian housing
JPH08123837A (en) Unit building design method
Galal Ahmed “When parallel lines meet”: Realizing socially resilient public housing through reconciling formal and informal practices in the UAE
CN116738771B (en) Linkage design method and device, storage medium and electronic equipment
WO2023009051A1 (en) A digital working tool and method involving the same for architectural planning and construction
Chipman et al. Ontology for life-cycle modeling of water distribution systems: Model view definition
Anderson The analysis of a secondary space: Bathrooms at Frank Lloyd Wright's Fallingwater
JP2021189930A (en) Bim component