Suite

Le script PyQGIS fonctionne sur un ordinateur mais pas sur un autre ?


Le script ci-dessous fonctionne parfaitement sur mon ordinateur. Mais lors de l'exécution du script sur un autre ordinateur, je reçois une erreur :

Erreur : algorithme introuvable

L'ordinateur a des spécifications similaires aux miennes (Windows 7, 64 bits, aucune restriction d'administrateur). J'ai effectué les étapes suivantes pour que l'ordinateur corresponde aux exigences des scripts :

  • OSGeo4W 64 bits installé, QGIS 2.6.1
  • Copié leEn traitementdossier deC:OSGeo4W64appsqgispythonpluginsprocessingàC:Usersuser_name.qgis2pythonplugins

Ai-je raté quelque chose d'évident ?

import os, sys, glob depuis qgis.core import * depuis qgis.gui import QgsMapCanvas depuis PyQt4.QtGui import * depuis os.path import expanduser home = expanduser("~") # Définir un chemin de configuration personnalisé QgsApplication( [], False , home + "AppDataLocalTemp" ) QgsApplication.setPrefixPath("C:OSGeo4W64appsqgis", True) QgsApplication.initQgis() app = QApplication([]) # Chemin du dossier des résultats pour les fichiers de formes path_dir = home + "DesktopTest" path_res = path_dir + "Results" # Préparer le cadre de canevas à partir de qgis_interface.py sys.path.append( home + '/Desktop/Test//' ) # Obtenir un objet iface canvas = QgsMapCanvas() de qgis_interface import QgisInterface iface = QgisInterface( canvas ) # Préparer le framework de traitement sys.path.append( home + '/.qgis2/python/plugins' ) # Initialiser le plugin de traitement en passant un objet iface de processing.ProcessingPlugin import ProcessingPlugin plugin = ProcessingPlugin(iface) à partir de processing.tools import * Cellsize = 1000 layerPath = path_dir + "Layer.shp" ext ent = QgsVectorLayer( layerPath,", 'ogr' ).extent() centerx = (extent.xMinimum() + extent.xMaximum()) / 2 centery = (extent.yMinimum() + extend.yMaximum()) / 2 width = extend.xMaximum() - extent.xMinimum() height = extent.yMaximum() - extent.yMinimum() def run(): output_1=general.runalg("qgis:creategrid", Cellsize, Cellsize, largeur, hauteur , centerx, centery, 1, 'EPSG:7405', path_res + "/"+ fname) run() QgsApplication.exitQgis() app.exit()

Il semble que le script ne trouve pas tout algorithme de traitement (de qgis, GRASS ou SAGA). Il ne reconnaît pas non plusPyQt4.Corealors qu'il le fait sur ma machine. Cela pourrait-il être pertinent ?


Le problème avec votre procédure est que vous avez probablement utilisé deux versions de traitement différentes, la v.2.2.0-2 sur votre ordinateur et la v.2.6 sur l'autre ordinateur. Depuis la v.2.6, Processing est un plugin QGIS de base. Il est installé dans/usr/share/qgis/python/plugins/(C:OSGeo4W64appsqgispythonpluginssous Windows) et non dans~/.qgis2/python/plugins/(C:Usersuser_name.qgis2pythonpluginssous Windows), comme celui que vous installez à partir du référentiel de plugins QGIS.

Vous pourriez penser à supprimer votre Processing v.2.2.0-2 et vous en tenir à la v.2.6, mais il y a une mise en garde. Le traitement v.2.6 a abandonné l'utilisation de la personnalisationJe fais faceobjets (j'ai déjà interrogé Victor Olaya à ce sujet) que vous utilisiez pour la v.2.2.0-2. Cela implique que vous ne serez pas en mesure d'exécuter des algorithmes qui utilisentJe fais face, comme l'algorithme QGIS Field Calculator, à partir de scripts autonomes.

Si vous décidez de passer à Processing v.2.6, vous devez ajuster le chemin vers le dossier Processing approprié dans votre script. Le script suivant est basé sur le vôtre. J'ai modifié les chemins pour l'exécuter sur GNU/Linux, veuillez donc ajuster ces chemins pour qu'ils s'adaptent à votre environnement. Comme vous le remarquez, je n'utilise pas non plus unJe fais facedans le script, car il n'est plus pris en charge par Processing v.2.6. Le script doit s'exécuter sur les deux ordinateurs si Processing v.2.6 est installé au même emplacement.

import os, sys, glob depuis qgis.core import * depuis qgis.gui import QgsMapCanvas depuis PyQt4.QtGui import * depuis os.path import expanduser home = expanduser("~") # Définir un chemin de configuration personnalisé QgsApplication( [], False , "/tmp/" ) QgsApplication.setPrefixPath("/usr", True) QgsApplication.initQgis() app = QApplication([]) # Chemin du dossier des résultats pour les fichiers de formes path_dir = home + "/Test/" path_res = path_dir + "/Results/" # Préparer le framework de traitement sys.path.append( "/usr/share/qgis/python/plugins" ) à partir de processing.core.Processing import Processing Processing.initialize() à partir de processing.tools import * Cellsize = 1000 layerPath = path_dir + "Shapefiles/shp1.shp" extent = QgsVectorLayer( layerPath,", 'ogr' ).extent() centerx = (extent.xMinimum() + extend.xMaximum()) / 2 centery = (extent. yMinimum() + extend.yMaximum()) / 2 width = extent.xMaximum() - extent.xMinimum() height = extent.yMaximum() - extent.yMinimum() def run() : output_1=general.runalg(" qgis:creategrid", 1, largeur, hauteur, Ce llsize, Cellsize, centerx, centery, 'EPSG:7405', path_res + "res.shp") run() QgsApplication.exitQgis() app.exit()

L'ordre des arguments pour leqgis:créer une grillel'algorithme semble avoir changé dans Processing v.2.6, soyez prudent avec cela. Faites-moi savoir si vous rencontrez des problèmes avec le script.


Le paramètre de chemin initial est peut-être désactivé.

QgsApplication.setPrefixPath("C:OSGeo4W64appsqgis", True)

Essayez peut-être de définir ce chemin sur une variable, puis utilisez la variable dans le chemin défini

setPath = 'C:OSGeo4W64appsqgis' QgsApplication.setPrefixPath(setPath, True)

OU peut-être ça ?

QgsApplication.setPrefixPath(r'C:OSGeo4W64appsqgis', True)

J'espère que ça aide!


J'ai réussi à exécuter le script en copiant leEn traitementdossier de mon ordinateur et en le plaçant dans le.qgis2de l'autre ordinateur. Il semble qu'il manque quelque chose dans l'autre ordinateur bien que je ne sache pas quoi.

J'ai remarqué que lorsque j'ai installé QGIS via le programme d'installation OSGeo4W, il n'y avait aucun dossier de plug-in dans.qgis2pythonplugins. Ils n'apparaissent que lorsqu'ils sont téléchargés et installés via QGIS…

Je vais essayer de trouver ce qui manquait à l'origine dans l'autre ordinateur et faire rapport. Mes remerciements à @BennettHawley et @WhiteboxDev pour votre aide !


Scénarimage du début à la fin

Un storyboard est une esquisse de la façon d'organiser une histoire et une liste de son contenu.

  • Définir les paramètres d'une histoire dans les ressources et le temps disponibles
  • Organiser et focaliser une histoire
  • Déterminez quel support utiliser pour chaque partie de l'histoire

Comment faire un storyboard approximatif

Une histoire multimédia est une combinaison de vidéo, de texte, de photos, d'audio, de graphiques et d'interactivité présentés dans un format non linéaire dans lequel les informations de chaque support sont complémentaires et non redondantes. Donc, votre storyboard doit être mis en place avec tous ces éléments à l'esprit.

La première chose à aborder est la partie selon laquelle l'histoire est non linéaire.

Divisez l'histoire en ses parties logiques et non linéaires, telles que :

  • un paragraphe de plomb ou de noix, expliquant essentiellement pourquoi cette histoire est importante
  • profils de la ou des personnes principales dans l'histoire
  • l'événement ou la situation
  • tout processus ou comment quelque chose fonctionne
  • avantages et inconvénients
  • l'historique de l'événement ou de la situation
  • d'autres questions connexes soulevées par l'histoire

Au lieu de penser “première partie,” “deuxième partie”, “troisième partie”, “quatrième partie”, pensez “cette partie”, “cette partie”, “une autre partie”, et “encore une autre partie”. Cela aide à éviter la pensée linéaire. La page d'accueil comprend un titre, un graphique de noix, un visuel d'établissement (peut être un arrière-plan ou une photographie centrale, un diaporama ou une vidéo) et des liens vers les autres parties, qui sont généralement des sous-thèmes de l'histoire globale.

Ensuite, divisez le contenu de l'histoire entre les médias : vidéo, photos, audio, graphiques et texte.

  1. Décidez quelles parties de l'histoire fonctionnent le mieux en vidéo. La vidéo est le meilleur moyen pour décrire l'action, pour emmener un lecteur dans un endroit central de l'histoire, ou pour entendre et voir une personne au cœur de l'histoire.
  2. Décidez quelles parties de l'histoire fonctionnent le mieux dans les photos. Les photos fixes sont le meilleur moyen de souligner une émotion forte, de rester sur un point important d'une histoire ou de créer une ambiance particulière. Ils sont souvent plus dramatiques et ne passent pas aussi vite que la vidéo. Les photos utilisées en combinaison avec l'audio mettent également en évidence les émotions. Les photos panoramiques ou à 360 degrés, notamment combinées à l'audio, plongent également le lecteur dans le lieu de l'histoire.
  3. L'audio fonctionne-t-il mieux avec la vidéo ou sera-t-il combiné avec des photos ? Un bon son avec la vidéo est essentiel. Un mauvais son donne l'impression que la vidéo est pire qu'elle ne l'est et nuit au drame des photos fixes. Un bon son rend les photos et les vidéos plus intenses et réelles. Évitez d'utiliser l'audio seul.
  4. Quelle partie de l'histoire fonctionne le mieux en graphisme ? Des graphiques animés montrent comment les choses fonctionnent. Les graphiques vont là où les caméras ne peuvent pas aller, dans les cellules humaines ou à des millions de kilomètres dans l'espace. Parfois, les graphiques peuvent être le support principal d'une histoire, avec des impressions, des photos et des vidéos dans les rôles secondaires.
  5. L'histoire a-t-elle besoin d'une carte ? La carte est-elle une carte de localisation ou superposée à d'autres informations ? Les SIG (systèmes d'information géographique) et l'imagerie satellitaire sont des outils importants pour les reporters. Le SIG interactif peut personnaliser une histoire d'une manière impossible avec du texte en permettant aux lecteurs de localiser des choses dans leurs propres villes ou quartiers, comme les laboratoires de crime ou de méthamphétamine, les magasins d'alcools ou les marchands d'armes agréés.
  6. Quelle partie de l'histoire appartient au texte? Le texte peut être utilisé pour décrire l'histoire d'une histoire (parfois en combinaison avec des photos) pour décrire un processus (parfois en combinaison avec des graphiques) ou pour fournir des comptes rendus à la première personne d'un événement. Souvent, le texte est ce qui reste lorsque vous ne pouvez pas transmettre les informations avec des photos, des vidéos, de l'audio ou des graphiques.
  7. Assurez-vous que les informations contenues dans chaque support sont complémentaires et non redondantes. Un petit chevauchement entre les différents médias est acceptable. Il est également utile d'avoir un certain chevauchement entre les parties non linéaires de l'histoire, afin d'inviter les lecteurs à explorer les autres parties de l'histoire. Mais essayez de faire correspondre chaque élément d'une histoire avec le support qui le transmet le mieux.
  8. L'interactivité signifie donner au lecteur à la fois entrée et contrôle dans une histoire. En rendant l'histoire non linéaire, vous avez introduit un élément d'interactivité, car l'utilisateur peut choisir les éléments d'une histoire à lire ou à visualiser et dans quel ordre. En incluant des forums ou des chats en ligne, vous donnez aux lecteurs la possibilité de participer à une histoire.

Lorsque vous avez terminé de décomposer une histoire en ses éléments, à la fois en termes de contenu et de médias que vous pouvez utiliser, vous devez rassembler tout cela dans un storyboard approximatif.

Sur une feuille de papier, dessinez à quoi ressemblera la page principale de l'histoire et les éléments qu'elle comprendra. Qu'est-ce que le graphique des noix ? Quels sont les liens vers les autres sections de l'histoire? Quel est le menu ou le schéma de navigation pour accéder à ces sections ? Quels éléments multimédias souhaitez-vous inclure sur la page principale en tant que visuels d'établissement, qu'il s'agisse de vidéos ou d'images.

Ensuite, faites de même pour les autres pages « intérieures » qui seront les autres parties, ou sous-thèmes, de votre histoire globale. Quel est l'élément principal de chaque page et quelles autres informations devraient y être incluses ? Quelle vidéo, audio, image ou graphique raconterait le mieux cette partie de l'histoire ?

Un storyboard brut n'a pas besoin d'être du grand art, ce n'est qu'un croquis. Et ce n'est pas écrit dans la pierre, ce n'est qu'un guide. Vous pouvez très bien changer les choses après être allé sur le terrain pour faire vos entretiens et autres reportages.

Ce que fait le storyboard, c'est d'aider à souligner les trous de votre histoire. Il vous aide à identifier les ressources (temps, équipement, assistance) dont vous aurez besoin pour terminer l'histoire, ou comment vous devez modifier l'histoire pour l'adapter à vos ressources. Un bon moyen d'apprendre le storyboard est de prendre un article de fond de journal et d'esquisser un storyboard de tous les éléments qu'il contient, les possibilités multimédias s'il s'agissait de plus qu'une histoire imprimée et comment vous pourriez le diviser en une présentation Web non linéaire.

Exemple – Dancing Rocks Rough Storyboard

Voici un story-board approximatif pour l'histoire de Messina "Dancing Rocks" au Death Valley Racetrack Playa.

Pièces non linéaires — Page d'accueil avec quatre pages intérieures. Les quatre parties sont la quête (recherche), une biographie (de Messine), les rochers (comment ils bougent) et le site des rochers dansants, Death Valley's Racetrack Playa (son histoire colorée).

Vidéo — Anticipez la vidéo de la sortie sur le terrain : Messina cartographie les pistes rocheuses, assemblage de son équipement, le voyage vers et depuis la playa.

l'audio — Anticipez l'audio de la sortie sur le terrain : Messina expliquant comment elle travaille, ce que fait l'équipement et pourquoi elle fait ce qu'elle fait. Peut-être à quoi ressemble le Racetrack Playa.

Photos fixes — Disponible sur le site Web de Messine et auprès des photographes professionnels, si nécessaire. Attendez-vous à prendre des photos à partir de vidéos de prises de vue grand angle de la plage, des rochers et des sentiers, peut-être des gardes du parc national de Death Valley.

Graphique — Photo aérienne, cartes et sentiers rocheux existants.

Texte — Histoire de la recherche, histoire de l'hippodrome Playa à partir d'entretiens avec Messine, d'autres chercheurs et les gardes du parc.

Ceci est une esquisse du storyboard brut.

Pour en savoir plus sur le storyboard et les outils, technologies et compétences pour produire du contenu multimédia, S'inscrire pour notre bulletin ou alors Suivez nous sur Instagram et Twitter. Obtenez des informations à jour sur les cours et les ressources dans tout ce qui concerne les médias numériques.

Politique de republication

Ce contenu ne peut pas être republié sous forme imprimée ou numérique sans l'autorisation écrite expresse du Berkeley Advanced Media Institute. Veuillez consulter notre Politique de redistribution du contenu .

© 2020 Les Régents de l'Université de Californie

Remarque : Les produits ou services répertoriés ne sont ni des recommandations ni des approbations et sont uniquement à titre informatif.


Vous pouvez procéder de différentes manières :

Rendez l'autre script exécutable, ajoutez la ligne #!/bin/bash en haut et le chemin d'accès du fichier à la variable d'environnement $PATH. Ensuite, vous pouvez l'appeler comme une commande normale

Ou appelez-le avec la commande source (l'alias est . ) comme ceci : source /path/to/script

Ou utilisez la commande bash pour l'exécuter : /bin/bash /path/to/script

Les première et troisième méthodes exécutent le script comme un autre processus, de sorte que les variables et les fonctions de l'autre script ne seront pas accessibles.
La deuxième méthode exécute le script dans le processus du premier script et extrait les variables et les fonctions de l'autre script afin qu'elles soient utilisables à partir du script appelant.

Dans la deuxième méthode, si vous utilisez exit dans le deuxième script, il quittera également le premier script. Ce qui n'arrivera pas dans les première et troisième méthodes.

Il existe plusieurs façons de procéder. Terminal pour exécuter le script :

Tout cela est correct pour le chemin avec des espaces.

La réponse que je cherchais :

Comme mentionné, exec remplace le shell sans créer de nouveau processus. pourtant, nous pouvons le mettre dans un sous-shell, ce qui est fait en utilisant les parenthèses.

EDIT : En fait ( "chemin/vers/script" ) est suffisant.

Si vous avez un autre fichier dans le même répertoire, vous pouvez soit :

Lorsque vous utilisez bash au lieu de source , le script ne peut pas modifier l'environnement du script parent. Le . La commande est la norme POSIX tandis que la commande source est un synonyme bash plus lisible pour . (Je préfère la source à . ). Si votre script réside ailleurs, fournissez simplement le chemin d'accès à ce script. Le chemin relatif ainsi que le chemin complet devraient fonctionner.

Dépend de. Brièvement. Si vous voulez charger des variables sur la console actuelle et les exécuter, vous pouvez utiliser la source myshellfile.sh sur votre code. Exemple:

Si vous voulez juste exécuter un fichier et que la seule chose qui vous intéresse est le résultat, vous pouvez faire :

Vous pouvez utiliser /bin/sh pour appeler ou exécuter un autre script (via votre script actuel) :

Ajoutez simplement dans une ligne ce que vous auriez tapé dans un terminal pour exécuter le script !
par exemple.:

si le script à exécuter n'est pas dans le même répertoire, utilisez simplement le chemin complet du script.
par exemple :`/home/user/script-directory/./myscript.sh &

Vous devez d'abord inclure le fichier que vous appelez :

alors tu appelles ta fonction comme ceci :

Une source simple vous aidera. Pour Ex.

C'est ce qui a fonctionné pour moi, c'est le contenu du script sh principal qui exécute l'autre.

La première réponse suggère d'ajouter la ligne #!/bin/bash à la première ligne du sous-script appelé. Mais même si vous ajoutez le shebang, il est beaucoup plus rapide * d'exécuter un script dans un sous-shell et de capturer la sortie :

Cela fonctionne lorsque vous souhaitez continuer à exécuter le même interpréteur (par exemple, de bash à un autre script bash) et garantit que la ligne shebang du sous-script n'est pas exécutée.

* Par exemple, lorsque des virus ou des outils de sécurité s'exécutent sur un appareil, l'exécution d'un nouveau processus peut prendre 100 ms supplémentaires.

C'était la seule chose dont j'avais besoin. Une fois que le script à exécuter est rendu exécutable comme ceci, vous (au moins dans mon cas) n'avez besoin d'aucune autre opération supplémentaire comme sh ou ./ pendant que vous appelez le script.

Merci au commentaire de @Nathan Lilienthal

Supposons que le nouveau fichier est "/home/satya/app/app_specific_env" et que le contenu du fichier est le suivant

Ajoutez cette référence de fichier à

Chaque fois que vous redémarrez la machine ou vous reconnectez, essayez echo $FAV_NUMBER dans le terminal. Il affichera la valeur.

Juste au cas où si vous voulez voir l'effet tout de suite, source

/.bashrc dans la ligne de commande.

Il y a quelques problèmes pour importer des fonctions à partir d'un autre fichier.
Première: Vous n'avez pas besoin de faire ce fichier exécutable. Mieux vaut ne pas le faire ! il suffit d'ajouter

pour importer toutes les fonctions. Et tous seront comme s'ils étaient définis dans votre fichier.
Seconde: Vous pouvez définir la fonction avec le même nom. Il sera écrasé. C'est mauvais. Vous pouvez déclarer comme ça

et seulement après cela, importez. Vous pouvez donc appeler l'ancienne fonction par un nouveau nom.
La troisième: Vous ne pouvez importer que la liste complète des fonctions définies dans le fichier. Si certains ne sont pas nécessaires, vous pouvez les désactiver. Mais si vous réécrivez vos fonctions après la suppression, elles seront perdues. Mais si vous définissez une référence comme décrit ci-dessus, vous pouvez restaurer après désactivation avec le même nom.
Pour terminer En règle générale, la procédure d'importation est dangereuse et pas si simple. Fais attention! Vous pouvez écrire un script pour le faire plus facilement et en toute sécurité. Si vous n'utilisez qu'une partie des fonctions (pas toutes), mieux vaut les diviser dans différents fichiers. Malheureusement cette technique n'est pas bien faite en bash. En python par exemple et dans d'autres langages de script, c'est simple et sûr. Possible de faire une importation partielle uniquement des fonctions nécessaires avec ses propres noms. Nous voulons tous que dans les prochaines versions de bush, la même fonctionnalité soit réalisée. Mais maintenant, nous devons écrire de nombreuses morues supplémentaires afin de faire ce que vous voulez.


JavaScript s'exécute dans le contexte du document HTML actuel, il ne sera donc pas en mesure de déterminer quoi que ce soit sur un utilisateur actuel à moins qu'il ne se trouve dans la page actuelle ou que vous appeliez AJAX à un script côté serveur pour obtenir plus d'informations.

JavaScript ne pourra pas déterminer votre nom d'utilisateur Windows.

Il n'y a pas entièrement compatible alternative en JavaScript car il pose un problème de sécurité dangereux pour permettre au code côté client de prendre conscience de l'utilisateur connecté.

Cela dit, le code suivant vous permettrait d'obtenir le nom d'utilisateur connecté, mais il ne fonctionnera que sous Windows, et uniquement dans Internet Explorer, car il utilise ActiveX. De plus, Internet Explorer affichera très probablement une fenêtre contextuelle vous alertant des problèmes de sécurité potentiels associés à l'utilisation de ce code, ce qui n'améliorera pas exactement la convivialité.


Quel rôle joue un avis de droit d'auteur ?

Jusqu'au 1er mars 1989, une œuvre publiée devait contenir un avis de droit d'auteur valide pour être protégée par les lois sur le droit d'auteur. Mais cette exigence n'est plus en vigueur : les œuvres publiées pour la première fois après le 1er mars 1989 n'ont pas besoin d'inclure une mention de droit d'auteur pour être protégées par la loi.

Mais même si un avis de droit d'auteur n'est pas requis, il est toujours important d'en inclure un. Lorsqu'une œuvre contient un avis valide, un contrefacteur ne peut pas prétendre devant un tribunal qu'il ne savait pas qu'il était protégé par le droit d'auteur. Cela permet de gagner plus facilement une affaire de violation du droit d'auteur et peut-être de percevoir suffisamment de dommages-intérêts pour que le coût de l'affaire en vaille la peine. Et l'existence même d'un avis de droit d'auteur pourrait décourager la violation.

Enfin, l'inclusion d'un avis de droit d'auteur peut permettre à quelqu'un de retrouver plus facilement un titulaire de droit d'auteur et d'obtenir légitimement l'autorisation d'utiliser l'œuvre.

Qu'est-ce qu'un avis de droit d'auteur valide ?

Un avis de droit d'auteur doit contenir :

  • le mot “copyright”
  • un “c” dans un cercle (©)
  • la date de parution, et
  • le nom de l'auteur ou du propriétaire de tous les droits d'auteur sur l'œuvre publiée.

Par exemple, l'avis de droit d'auteur correct pour l'édition actuelle de Le manuel du droit d'auteur, par Stephen Fishman (Nolo) est Copyright © 2019 par Stephen Fishman.

Aux États-Unis, un titulaire de droit d'auteur peut améliorer considérablement la protection offerte par le droit d'auteur. Cela se fait en enregistrant le droit d'auteur auprès du US Copyright Office. Voir Enregistrement et application du droit d'auteur.

Ignorer l'en-tête - Contenu du sous-tableau

Protection internationale du droit d'auteur

Les règles de protection du droit d'auteur sont assez similaires dans le monde entier, en raison de plusieurs traités internationaux sur le droit d'auteur, dont le plus important est la Convention de Berne. En vertu de ce traité, tous les pays membres - et il y en a plus de 100, y compris pratiquement tous les pays industrialisés - doivent accorder la protection du droit d'auteur aux auteurs qui sont ressortissants de n'importe quel pays membre. Cette protection doit durer au moins la vie de l'auteur plus 50 ans et doit être automatique sans que l'auteur n'ait besoin de prendre des mesures légales pour préserver le droit d'auteur.

En plus de la Convention de Berne, le traité du GATT (Accord général sur les tarifs douaniers et le commerce) contient un certain nombre de dispositions qui affectent la protection du droit d'auteur dans les pays signataires. Ensemble, la Convention de Berne sur le droit d'auteur et le traité du GATT permettent aux auteurs américains de faire respecter leurs droits d'auteur dans la plupart des pays industrialisés et aux ressortissants de ces pays de faire respecter leurs droits d'auteur aux États-Unis.

Ignorer l'en-tête - Contenu du sous-tableau

Quand puis-je utiliser une œuvre sans l'autorisation de l'auteur ?

Lorsqu'une œuvre devient disponible pour une utilisation sans l'autorisation du titulaire du droit d'auteur, on dit qu'elle est « dans le domaine public ». La plupart des œuvres entrent dans le domaine public parce que leurs droits d'auteur ont expiré.

Pour déterminer si une œuvre est dans le domaine public et disponible pour une utilisation sans l'autorisation de l'auteur, vous devez d'abord savoir quand elle a été publiée. Appliquez ensuite les règles suivantes pour voir si le droit d'auteur a expiré :

  • Toutes les œuvres publiées aux États-Unis avant 1924 sont dans le domaine public.
  • Les œuvres publiées après 1923, mais avant 1978 sont protégées pendant 95 ans à compter de la date de publication. Si l'œuvre a été créée, mais non publiée, avant 1978, le droit d'auteur dure toute la vie de l'auteur plus 70 ans.
  • Pour les œuvres publiées après 1977, le droit d'auteur dure toute la vie de l'auteur plus 70 ans. Cependant, si l'œuvre est une œuvre de location (c'est-à-dire que l'œuvre est réalisée dans le cadre d'un emploi ou a été spécifiquement commandée) ou est publiée de manière anonyme ou sous un pseudonyme, le droit d'auteur dure entre 95 et 120 ans, selon le date de publication de l'œuvre.
  • Enfin, si l'œuvre a été publiée entre 1924 et 1963, vous devez vérifier auprès du US Copyright Office si le droit d'auteur a été correctement renouvelé. Si l'auteur n'a pas renouvelé le droit d'auteur, l'œuvre est tombée dans le domaine public et vous pouvez l'utiliser.

Le Copyright Office vérifiera les informations de renouvellement pour vous, moyennant des frais de 200 $ de l'heure. (Appelez la Section des dossiers, de la recherche et de la certification au 202-707-6787.) Vous pouvez également engager une entreprise privée de recherche de droits d'auteur pour voir si un renouvellement a été déposé. Enfin, vous pourrez peut-être effectuer vous-même une recherche de renouvellement. Les dossiers de renouvellement des livres publiés de 1923 à 1963 sont disponibles en ligne à l'adresse https://exhibits.stanford.edu/copyrightrenewals. Les recherches de renouvellement peuvent être effectuées au Copyright Office à Washington D.C. ou en visitant l'une des nombreuses bibliothèques de dépôt gouvernementales à travers le pays.

À une exception près, vous devez supposer que chaque œuvre est protégée par le droit d'auteur, à moins que vous ne puissiez établir qu'elle ne l'est pas. Comme mentionné ci-dessus, vous ne pouvez pas vous fier à la présence ou à l'absence d'un avis de droit d'auteur (©) pour prendre cette décision, car un avis n'est pas requis pour les œuvres publiées après le 1er mars 1989. Et même pour les œuvres publiées avant 1989, le l'absence d'un avis de droit d'auteur peut ne pas affecter la validité du droit d'auteur — par exemple, si l'auteur a fait des tentatives diligentes pour corriger la situation.

L'exception concerne les matériaux utilisés en vertu de la "règle d'utilisation équitable". Publique. Par exemple, les chercheurs doivent être libres de citer leurs ressources de recherche afin de commenter le matériel. Pour trouver un équilibre entre les besoins d'un public d'être bien informé et les droits des titulaires de droits d'auteur de profiter de leur créativité, le Congrès a adopté une loi autorisant l'utilisation de matériel protégé par le droit d'auteur dans certaines circonstances considérées comme « équitables » 8212 même si le titulaire du droit d'auteur n'en donne pas l'autorisation.

Souvent, il est difficile de savoir si un tribunal considérera qu'une utilisation proposée est équitable. La loi sur l'utilisation équitable exige que les tribunaux examinent les questions suivantes pour trancher cette question :

  • Est-ce un usage compétitif ? (En d'autres termes, si l'utilisation affecte potentiellement les ventes du matériel copié, ce n'est généralement pas juste.)
  • Quelle quantité de matériel a été prélevée par rapport à l'ensemble de l'œuvre dont le matériel faisait partie ? (Plus quelqu'un en prend, moins il est probable que l'utilisation soit équitable.)
  • Comment le matériel a-t-il été utilisé ? Est-ce un usage transformateur ? (Si le matériel a été utilisé pour aider à créer quelque chose de nouveau, il est plus susceptible d'être considéré comme une utilisation équitable que s'il est simplement copié mot à mot dans un autre travail. Les critiques, les commentaires, les reportages, la recherche, l'érudition et les utilisations éducatives à but non lucratif sont les utilisations motivées principalement par le désir d'un gain commercial sont moins susceptibles d'être des utilisations équitables).

En règle générale, si vous utilisez une petite partie du travail de quelqu'un d'autre de manière non compétitive et que le but de votre utilisation est de profiter au public, vous êtes sur un terrain assez sûr. D'un autre côté, si vous prenez une grande partie de l'expression de quelqu'un d'autre pour vos propres raisons purement commerciales, la règle ne s'appliquera généralement pas.

Ignorer l'en-tête - Contenu du sous-tableau

Si vous souhaitez utiliser du matériel sur Internet

Chaque jour, les gens publient de grandes quantités de matériel créatif sur Internet, du matériel pouvant être téléchargé par toute personne disposant du bon équipement informatique. Étant donné que les informations sont stockées quelque part sur un serveur Internet, elles sont fixées sur un support tangible et peuvent potentiellement être protégées par le droit d'auteur. Qu'elle soit, en fait, admissible dépend d'autres facteurs que vous n'auriez aucun moyen de connaître, par exemple quand l'œuvre a été publiée pour la première fois (ce qui affecte la nécessité d'un avis de droit d'auteur), si le droit d'auteur sur l'œuvre a été renouvelé (pour les œuvres publiées avant 1978), si l'œuvre est une œuvre faite contre rémunération (ce qui affecte la durée du droit d'auteur) et si le titulaire du droit d'auteur a l'intention de dédier l'œuvre au domaine public. Si vous souhaitez télécharger le matériel pour l'utiliser dans votre propre travail, vous devez être prudent. Il est préférable de retrouver l'auteur du contenu et de demander la permission. En règle générale, vous pouvez revendiquer un droit d'utilisation équitable pour l'utilisation d'une très petite partie du texte à des fins de commentaire, d'érudition ou à des fins similaires.

Le contenu de la section Aperçu du droit d'auteur et de l'utilisation équitable provient de NOLO, dont une grande partie est tirée du livre Getting Permission (octobre 2019) de Richard Stim. Merci!


Tâches

  • Formuler des modèles mathématiques ou de simulation de problèmes, mettant en relation des constantes et des variables, des restrictions, des alternatives, des objectifs contradictoires et leurs paramètres numériques.
  • Effectuer la validation et les tests des modèles pour assurer l'adéquation et reformuler les modèles si nécessaire.
  • Collaborer avec les cadres supérieurs et les décideurs pour identifier et résoudre divers problèmes et clarifier les objectifs de gestion.
  • Présenter les résultats de la modélisation mathématique et de l'analyse des données à la direction ou à d'autres utilisateurs finaux.
  • Collaborer avec les autres membres de l'organisation pour assurer la mise en œuvre réussie des solutions aux problèmes choisies.
  • Analyser les informations obtenues de la direction pour conceptualiser et définir les problèmes opérationnels.
  • Étudiez et analysez les informations sur les plans d'action alternatifs pour déterminer quel plan offrira les meilleurs résultats.
  • Préparer des rapports de gestion définissant et évaluant les problèmes et recommandant des solutions.
  • Définir les exigences en matière de données et recueillir et valider les informations, en appliquant des tests de jugement et statistiques.
  • Observez le système actuel en fonctionnement et rassemblez et analysez des informations sur chacune des parties des problèmes de composants, en utilisant une variété de sources.
  • Divisez les systèmes en leurs composants, attribuez des valeurs numériques à chaque composant et examinez les relations mathématiques entre eux.
  • Concevoir, conduire et évaluer des modèles opérationnels expérimentaux dans les cas où les modèles ne peuvent pas être développés à partir de données existantes.
  • Former le personnel à l'utilisation de modèles mathématiques.
  • Spécifiez les méthodes de manipulation ou de calcul à appliquer aux modèles.
  • Développez et appliquez des réseaux de temps et de coûts pour planifier, contrôler et examiner de grands projets.

Une brève histoire du BIM

"Patrick Schumacher de Zaha Hadid Architects a écrit sur l'influence du BIM et des logiciels paramétriques dans le Parametricist Manifesto, reconnaissant l'impact des logiciels sur le style dans la conception d'avant-garde." Image via le Manifeste Parametricisit.

Cette brève histoire du BIM ("le logiciel qui a bouleversé les méthodes traditionnelles de représentation et de collaboration en architecture") nous vient de notre ami de l'Architecture Research Lab, Michael S Bergin.

Building Information Modeling (BIM) est un terme devenu omniprésent dans les domaines de la conception et de la construction au cours des 20 dernières années, mais d'où vient-il ? L'histoire est riche et complexe avec des acteurs des États-Unis, d'Europe occidentale et du bloc soviétique en compétition pour créer la solution logicielle architecturale parfaite pour perturber les flux de travail de CAO en 2 dimensions.

Découvrez les débuts du BIM, après la pause.

Les avantages d'un modèle de conception architecturale lié à une base de données relationnelle se sont avérés incroyablement précieux, les entrepreneurs devenant les principaux moteurs de la technologie BIM pour la première fois en 2012.

Qu'est-ce que le BIM exactement ?

La question se pose souvent, pour les besoins de cet article, un logiciel BIM doit être capable de représenter à la fois les propriétés physiques et intrinsèques d'un bâtiment sous la forme d'un modèle orienté objet lié à une base de données. De plus, la plupart des logiciels BIM disposent désormais de moteurs de rendu, d'une taxonomie optimisée spécifique aux fonctionnalités et d'un environnement de programmation pour créer des composants de modèle. L'utilisateur peut visualiser et interagir avec le modèle dans des vues en trois dimensions ainsi qu'en plan, en coupes et en élévation orthographiques en deux dimensions du modèle. Au fur et à mesure que le modèle est développé, tous les autres dessins du projet seront ajustés en conséquence. A Building Information Model could be designed in a software that is not strictly speaking, ‘parametric’ and where all information and geometry is explicitly defined but this would be cumbersome.

A parametric building modeler will allow the user to create constraints such as the height of a horizontal level, which can be tied to the height of specified set of walls and adjusted parametrically, creating a dynamic database model which is tied to geometry. This development answered a need in the architectural industry to be able to change drawings at multiple scales and across fragmented drawing sheets. The amount of hours that are necessary for the production of drawings has decreased steadily over time with the general trend of non-farm labor in the United States since 1964. The improvement in productivity has risen in concert with computer technology which has automated tedious tasks in all disciplines. Although some of the earliest programs for architectural representation used a BIM metaphor, limitations in computer power and awkward user interfaces for BIM platforms contributed to a growth in two-dimensional line drawing programs such as AutoCAD and Bentley Microstation.

The Beginnings

The conceptual underpinnings of the BIM system go back to the earliest days of computing. As early as 1962, Douglas C. Englebart gives us an uncanny vision of the future architect in his paper Augmenting Human Intellect.

the architect next begins to enter a series of specifications and data–a six-inch slab floor, twelve-inch concrete walls eight feet high within the excavation, and so on. When he has finished, the revised scene appears on the screen. A structure is taking shape. He examines it, adjusts it… These lists grow into an evermore-detailed, interlinked structure, which represents the maturing thought behind the actual design.

Englebart suggests object based design, parametric manipulation and a relational database dreams that would become reality several years later. There is a long list of design researchers whose influence is considerable including Herbert Simon, Nicholas Negroponte and Ian McHarg who was developing a parallel track with Geographic Information Systems (GIS). The work of Christopher Alexander would certainly have had an impact as it influenced an early school of object oriented programming computer scientists with Notes on the Synthesis of Form. As thoughtful and robust as these systems were, the conceptual frameworks could not be realized without a graphical interface through which to interact with such a Building Model.

Visualizing the Model

From the roots of the SAGE graphical interface and Ivan Sutherland’s Sketchpad program in 1963, solid modeling programs began to appear building on developments in the computational representation of geometry. The two main methods of displaying and recording shape information that began to appear in the 1970s and 1980s were constructive solid geometry (CSG) and boundary representation (brep). The CSG system uses a series of primitive shapes that can be either solids or voids, so that the shapes can combine and intersect, subtract or combine to create the appearance of more complex shapes. This development is especially important in representing architecture as penetrations and subtractions are common procedures in design, (windows, doors).
The process of design requires a visceral connection to the medium that the designer is working in. This posed another challenge as architects required a way to tell the computer what to do that was less tedious than the punch cards that were used on early computers. The development of light pens, head-mounted displays and various contraptions in the early days of human-computer interaction (HCI) are well documented elsewhere. A rigorous history of HCI from an architectural perspective can be found in Nicholas DeMonchaux’s book, Spacesuit: Fashioning Apollo. The text carves a narrative of the precursors to BIM and CAD technology as they were entwined in the Space Race and Cold War.

Database Building Design

Seeing buildings through the lens of the database contributed to the breakdown of architecture into its constituent components, necessitating a literal taxonomy of a buildings constituent parts. One of the first projects to successfully create a building database was the Building Description System (BDS) which was the first software to describe individual library elements which can be retrieved and added to a model. This program uses a graphical user interface, orthographic and perspective views and a sortable database that allows the user to retrieve information categorically by attributes including material type and supplier. The project was designed by Charles Eastman who was trained as an architect at Berkeley and went on to work in computer science at Carnegie Melon Uniersity. Eastman continues as expert in BIM technology and Professor at the Georgia Tech School of Architecture.

Eastman claims that drawings for construction are inefficient and cause redundancies of one object that is represented at several scales. He also criticizes hardcopy drawings for their tendency to decay over time and fail to represent the building as renovations occur and drawings are not updated. In a moment of prophecy, the notion of automated model review emerges to “check for design regularity” in a 1974 paper.

Eastman concluded that BDS would reduce the cost of design, through ‘drafting and analysis efficiencies’ by more than fifty percent. Eastman’s project was funded by DARPA, the Advanced Research Projects Agency and was written before the age of personal computers, on a PDP-10 computer. Very few architects were ever able to work on the BDS system and its unclear whether any projects were realized using the software. BDS was an experiment that would identify some of the most fundamental problems to be tackled in architectural design over the next fifty years. Eastman’s next project, GLIDE (Graphical Language for Interactive Design) created in 1977 at CMU, exhibited most of the characteristics of a modern BIM platform.

In the early 1980′s there were several systems developed in England that gained traction and were applied to constructed projects. These include GDS, EdCAAD, Cedar, RUCAPS, Sonata and Reflex. The RUCAPS software System developed by GMW Computers in 1986 was the first program to use the concept of temporal phasing of construction processes and was used to assist in the phased construction of Heathrow Airport’s Terminal three (Laiserin – History of BIM). The founding of the Center for Integrated Facility Engineering (CIFE) at Stanford in 1988 by Paul Teicholz marks another landmark in the development of BIM as this created a wellspring of PhD students and industry collaborations to further the development of ‘four-dimensional’ building models with time attributes for construction. This marks an important point where two trends in the development of BIM technology would split and develop over the next two decades. On one side, the development of specialized tools for multiple disciplines to serve the construction industry and improve efficiency in construction. On the other side is the treatment of the BIM model as a prototype that could be tested and simulated against performance criteria.

A later but prominent example of a simulation tool that gave feedback and ‘suggested’ solutions based on a model is the Building Design Advisor, developed at Lawrence Berkeley National Lab beginning in 1993. This software utilizes an object model of a building and its context to perform simulations. This program was one of the first to integrate graphical analysis and simulations to provide information about how the project might perform given alternative conditions regarding the projects orientation, geometry, material properties and building systems. The program also includes basic optimization assistants to make decisions based on a range of criteria which are stored in sets called ‘Solutions’.

"The input on the left generates the stairs on the right that can be adjusted parametrically. Charles Eastman's GLIDE was one of the first programs to incorporate most of the major features present in BIM software today." Image via Charles Eastman's paper "GLIDE."

Virtual Building

While the developments were happening rapidly in the United States, the Soviet Block had two programming geniuses who would end up defining the BIM market as it is known today. Leonid Raiz and Gábor Bojár would go on to be the respective co-founder and founder of Revit and ArchiCAD. ArchiCAD developed in 1982 in Budapest, Hungary by Gábor Bojár, a physicist who rebelled against the communist government and began a private company. Gábor wrote the initial lines of code by pawning his wife’s jewelry and smuggling Apple Computers through the Iron Curtain (Story). Using similar technology as the Building Description System, the software Radar CH was released in 1984 for the Apple Lisa Operating System. This later became ArchiCAD, which makes ArchiCAD the first BIM software that was made available on a personal computer.

The software was slow to start as Bojár had to struggle with a unfriendly business climate and the limitations of personal computer software, so ArchiCAD was not used on large scale projects until much later. ArchiCAD has made substantial gains in user base from 2007-2011, mainly as a tool for developing residential and small commercial projects in Europe. Recent improvements have made ArchiCAD a major player in the market though fundamental issues such as a lack of a phasing component and a complicated (but flexible) programming environment for its family components using GDL (Geometric Description Language) To date, Graphisoft claims that more than 1,000,000 projects worldwide have been designed using ArchiCAD.

Not long after Graphisoft began to sell the first seats of Radar CH, Parametric Technology Corporation (PTC) was founded in 1985 and released the first version of Pro/ENGINEER in 1988. This is a mechanical CAD program that is utilizes a constraint based parametric modeling engine. Equipped with the knowledge of working on Pro/ENGINEER, Irwin Jungreis and Leonid Raiz split from PTC and started their own software company called Charles River Software in Cambridge, MA.

The two wanted to create an architectural version of the software that could handle more complex projects than ArchiCAD. They hired David Conant as their first employee, who is a trained architect and designed the initial interface which lasted for nine releases. By 2000 the company had developed a program called ‘Revit’, a made up word that is meant to imply revision and speed, which was written in C++ and utilized a parametric change engine, made possible through object oriented programming. In 2002, Autodesk purchased the company and began to heavily promote the software in competition with its own object-based software ‘Architectural Desktop’.

Revit revolutionized the world of Building Information Modeling by creating a platform that utilized a visual programming environment for creating parametric families and allowing for a time attribute to be added to a component to allow a ‘fourth-dimension’ of time to be associated with the building model. This enables contractors to generate construction schedules based on the BIM models and simulate the construction process. One of the earliest projects to use Revit for design and construction scheduling was the Freedom Tower project in Manhattan. This project was completed in a series of separated but linked BIM models which were tied to schedules to provide real-time cost estimation and material quantities. Though the construction schedule of the Freedom Tower has been racked with political issues, improvements in coordination and efficiency on the construction site catalyzed the development of integrated software that could be used to view and interact with architects, engineers and contractors models in overlay simultaneously.

"This screenshot from Radar CH (later ArchiCAD) shows how far BIM modeling capabilities had developed by 1984, the first major BIM release on a personal computer." Image via Graphisoft

Towards a Collaborative Architecture

There has been a trend towards the compositing of architectural files with those of engineers who create the systems to support them which has become more prevalent within the past seven years as Autodesk has released versions of Revit specifically for Structural and Mechanical engineers. This increased collaboration has had impacts on the larger industry including a movement away from design-bid-build contracts towards integrated project delivery where many disciplines typically work on a mutually accessible set of BIM models that are updated in varying degrees of frequency. A central file takes an object and applies an attribute of ownership so that a user who is working on a given project can view all objects but can only change those that they have checked out of a ‘workset’. This feature released in Revit 6 in 2004, enables large teams of architects and engineers to work on one integrated model, a form of collaborative software. There are now several firms working towards visualization of BIM models in the field using augmented reality.

A broad variety of programs used by architects and engineers makes collaboration difficult. Varying file formats lose fidelity as they move across platforms, especially BIM models as the information is hierarchical and specific. To combat this inefficiency the International Foundation Class (IFC) file format was developed in 1995 and has continued to adapt to allow the exchange of data from one BIM program to another. This effort has been augmented by the development of viewing software such as Navisworks which is solely designed to coordinate across varying file formats. Navisworks allows for data collection, construction simulation and clash detection and is used by most major contractors in the US today.

Following in the footsteps of the Building Design Advisor, simulation programs such as Ecotect, Energy Plus, IES and Green Building Studio allow the BIM model to be imported directly and results to be gathered from simulations. In some cases there are simulations that are built directly into the base software, this method of visualization for design iteration has been introduced to Autodesk’s Vasari, a stand alone beta program similar to the Revit Conceptual Modeling Environment where solar studies and insolation levels can be calculated using weather data similar to the Ecotect package. Autodesk, through their growth and acquisition of a broad variety of software related to BIM have contributed to the expansion of what is possible from analysis of a model. In late November 2012, the development of formit, an application that allows the conceptual beginnings of a BIM model to be started on a mobile device is a leap for the company.

Contemporary Practice and Design Academics

Some have taken a negative stance on BIM and parametrics as they assume so much about the design process and limit any work produced to the user’s knowledge of the program. This can enable a novice designer who has learned how to perform basic commands to become an incredibly prolific producer while a highly educated and experienced architect can be crippled from inexperience with a programs interface or underlying concepts. This creates a potential for a generational break line that becomes more harsh as a new technology gains market parity.

Some BIM platforms that have a small market share but have made big impacts on the world of design include Generative Components (GC), developed by Bentley Systems in 2003. The GC system is focused on parametric flexibility and sculpting geometry and supports NURBS surfaces. The interface hinges on a node-based scripting environment that is similar to Grasshopper to generate forms. Digital Project is a similar program was developed by Gehry Technologies around 2006 based on CATIA, a design program (and one of the first CAD programs) that was developed as an in house project by Dessault systems, a French airplane manufacturer. These two platforms have spawned something of a revolution in design as the power to iterate and transform has resulted in especially complex and provocative architectural forms.

Patrick Schumacher has coined the movement of parametric building models in architecture, specifically those which allow for NURBS surfaces and scripting environments as ‘parametricism’ in his 2008 ‘Parametricist Manifesto’.

“The current stage of advancement within parametricism relates as much to the continuous advancement of the attendant computational design technologies as it is due to the designer’s realization of the unique formal and organizational opportunities that are afforded. Parametricism can only exist via sophisticated parametric techniques. Finally, computationally advanced design techniques like scripting (in Mel-script or Rhino-script) and parametric modeling (with tools like GC or DP) are becoming a pervasive reality. Today it is impossible to compete within the contemporary avant-garde scene without mastering these techniques.”

Since these techniques have become increasingly complex there has become a component of architectural schools which is specified to train in specific software. A student with knowledge of only one type of software platform may well be trained to design according to the biases of the programs that they are using to represent their ideas. Software performs useful tasks by breaking down a procedure into a set of actions that have been explicitly designed by a programmer. The programmer takes an idea of what is commonsense (Sack 14) and simulates a workflow using tools available to them to create an idealized goal. In the case of BIM tools, the building is represented as components including walls, roofs, floors, windows, columns, etc. These components have pre-defined rules or constraints which help them perform their respective tasks.

BIM platforms typically represent walls as objects with layers, these layers are defined in terms of the depth and height of a wall and are extruded along the length of a line. The program then has the ability to calculate the volume of material contained within the wall assembly and to create wall sections and details easily. This type of workflow is based on the existing building stock and common industry standards and therefore a project which is produced in a BIM platform which emphasizes these tools is likely to reinforce existing paradigms rather than develop new ones. Additionally, the programmers who worked on the early BIM platforms often did not have a background in architecture but employed hybrid architect/programmers who contributed to the development of the programs. One notable exception I have found to this is the work of Charles Eastman who received a Masters of Architecture from Berkeley before working on the Building Description System. The roots of the major BIM platforms that are in use today have been developed by programmers with the peripheral input of hybrid programmer/architects and a global user base who contributes to the development of the software via ‘wish lists’ or online forums where grievances can be aired about a product workflow. The grievances typically result in new features and build upon the existing interface.

Though the general concept and technology behind BIM is approaching its thirtieth anniversary, the industry has only begun to realize the potential benefits of Building Information Models. As we reach a point where a majority of buildings are being crafted digitally, an existing building marketplace where building materials and structural components can be bought and sold locally will emerge. Sustainable design practices reinforce an attitude of designing for disassembly and a marketplace of these parts is essential. Trends in Human Computer Interaction, Augmented Reality, Cloud Computing, Generative Design and Virtual Design and Construction continue to rapidly influence the development of BIM. Looking back at the past it is easier to realize that the present moment is an exciting time for designers and programmers in this evolving industry.

Les références
Chuck Eastman, Paul Teicholz, Rafael Sacks, Kathleen Liston – The BIM Handbook
Malek S. – CAD/BIM Timeline
Charles Eastman – What is BIM?
Various at AUGI – The Origins of Revit
Lachmi Khemlani – AEC Bytes / Revit 6
Marian Bozdoc – The History of CAD
Jeremy Tammik – The History of Revit and its API


4 réponses 4

This isn't trying to make users install malware. This is trying to run malware on the build server. They fork the repository, install a malicious build script, create a Pull Request (PR) for the fork, and then the build will run for the PR and it will look like it's coming from your repository. When Github staff look at why their build servers are mining bitcoins, they'll see that it's a build job for your repository. (But they're probably smart enough to see it's from a malicious PR)

This trend caught international attention around a week ago.

The goal is to mine Bitcoin or other cryptocurrencies on the build server.

For some reports, see here, here or here. Or see Google.

This works because tests (and the whole build) are run on the pull request before it is merged. After all, how else would you know whether that change works?

Considering the media attention, there is nothing you need to do. GitHub is aware of the problem and it's their infrastructure that gets abused. They will need to counter that spam.

You should report it, so that GitHub can train a tool that automatically recognizes this kind of threat to them.

As @user253751 said on his answer, this is a build step malware attack that could potentially be used against you once a PR is opened from the fork to your repo, as GitHub might not like that these attacks are related to your repository.


Work Activities

  • Making Decisions and Solving Problems — Analyzing information and evaluating results to choose the best solution and solve problems.
  • Communicating with Supervisors, Peers, or Subordinates — Providing information to supervisors, co-workers, and subordinates by telephone, in written form, e-mail, or in person.
  • Getting Information — Observing, receiving, and otherwise obtaining information from all relevant sources.
  • Coordinating the Work and Activities of Others — Getting members of a group to work together to accomplish tasks.
  • Guiding, Directing, and Motivating Subordinates — Providing guidance and direction to subordinates, including setting performance standards and monitoring performance.
  • Identifying Objects, Actions, and Events — Identifying information by categorizing, estimating, recognizing differences or similarities, and detecting changes in circumstances or events.
  • Interacting With Computers — Using computers and computer systems (including hardware and software) to program, write software, set up functions, enter data, or process information.
  • Judging the Qualities of Things, Services, or People — Assessing the value, importance, or quality of things or people.
  • Monitor Processes, Materials, or Surroundings — Monitoring and reviewing information from materials, events, or the environment, to detect or assess problems.
  • Organizing, Planning, and Prioritizing Work — Developing specific goals and plans to prioritize, organize, and accomplish your work.
  • Developing and Building Teams — Encouraging and building mutual trust, respect, and cooperation among team members.
  • Evaluating Information to Determine Compliance with Standards — Using relevant information and individual judgment to determine whether events or processes comply with laws, regulations, or standards.
  • Establishing and Maintaining Interpersonal Relationships — Developing constructive and cooperative working relationships with others, and maintaining them over time.
  • Processing Information — Compiling, coding, categorizing, calculating, tabulating, auditing, or verifying information or data.
  • Scheduling Work and Activities — Scheduling events, programs, and activities, as well as the work of others.
  • Training and Teaching Others — Identifying the educational needs of others, developing formal educational or training programs or classes, and teaching or instructing others.
  • Coaching and Developing Others — Identifying the developmental needs of others and coaching, mentoring, or otherwise helping others to improve their knowledge or skills.
  • Communicating with Persons Outside Organization — Communicating with people outside the organization, representing the organization to customers, the public, government, and other external sources. This information can be exchanged in person, in writing, or by telephone or e-mail.
  • Resolving Conflicts and Negotiating with Others — Handling complaints, settling disputes, and resolving grievances and conflicts, or otherwise negotiating with others.
  • Performing for or Working Directly with the Public — Performing for people or dealing directly with the public. This includes serving customers in restaurants and stores, and receiving clients or guests.
  • Monitoring and Controlling Resources — Monitoring and controlling resources and overseeing the spending of money.
  • Analyzing Data or Information — Identifying the underlying principles, reasons, or facts of information by breaking down information or data into separate parts.
  • Developing Objectives and Strategies — Establishing long-range objectives and specifying the strategies and actions to achieve them.
  • Documenting/Recording Information — Entering, transcribing, recording, storing, or maintaining information in written or electronic/magnetic form.
  • Updating and Using Relevant Knowledge — Keeping up-to-date technically and applying new knowledge to your job.
  • Estimating the Quantifiable Characteristics of Products, Events, or Information — Estimating sizes, distances, and quantities or determining time, costs, resources, or materials needed to perform a work activity.
  • Selling or Influencing Others — Convincing others to buy merchandise/goods or to otherwise change their minds or actions.
  • Interpreting the Meaning of Information for Others — Translating or explaining what information means and how it can be used.
  • Performing Administrative Activities — Performing day-to-day administrative tasks such as maintaining information files and processing paperwork.
  • Staffing Organizational Units — Recruiting, interviewing, selecting, hiring, and promoting employees in an organization.
  • Inspecting Equipment, Structures, or Material — Inspecting equipment, structures, or materials to identify the cause of errors or other problems or defects.
  • Thinking Creatively — Developing, designing, or creating new applications, ideas, relationships, systems, or products, including artistic contributions.
  • Provide Consultation and Advice to Others — Providing guidance and expert advice to management or other groups on technical, systems-, or process-related topics.

Site names

We recommend that you use a valid DNS name when you create a new site name. Otherwise, your site will be available only where a Microsoft DNS server is used. For more information about valid DNS names, see the DNS host names section.

DNS names can contain only alphabetical characters (A-Z), numeric characters (0-9), the minus sign (-), and the period (.). Period characters are allowed only when they are used to delimit the components of domain style names.

In the Windows 2000 domain name system (DNS) and the Windows Server 2003 DNS, Unicode characters are supported. Other implementations of DNS don't support Unicode characters. Avoid Unicode characters if queries will be passed to the servers that use non-Microsoft implementations of DNS.